搜了下跟多线程的面试题目全是JAVA的,JAVA在多线程方面比C++有优势吗
java提供了很多同步异步的方法接口操作多线程比较方便
Java在多线程方便封装的接口简单多了,更面向对潒
您也是用JAVA吗,懂C++的話学习JAVA上手要多久?
多线程编程的关键是如果懂得在多线程下的共享数据操作利用系统提供的传统锁,效率很差无论是C++还是JAVA,都是洳此
最好的方式应该是使用无锁的“原子”操作 共享数据,这方面 C++显然 方便多
多线程编程,不能仅仅考虑编程方便程序运行效率影響非常大。不好的编程可能会让程序运行速度降到 10%以下好的编程可能只是降到 90%
多线程编程的关键是如果懂得在多线程下的共享数据操作。利用系统提供的传统锁效率很差,无论是C++还是JAVA都是如此。
最好的方式应该是使用无锁的“原子”操作 共享数据这方面 C++显然 方便多。
哪里有文章佐证您的观点
Java在多线程方便封装的接口简单多了,更面向對象
搜了下跟多线程的面试题目,全是JAVA的JAVA在多线程方面比C++有优势吗
您也是用JAVA吗,懂C++的话学习JAVA上手要多久?
我懂一点JavaC++转Java上手很快,我觉得一个月就够了但是精通又是另外一回事
不过也看你学C++的時候,会不会基本的设计模式如果不会,看java线程库的用法等也会吃力的
这方面的实用文章很少看到。网上倒是有不少“无锁“操作的探讨文章
有些比较是我个人的测试结果。
我曾经测试:对同一个整数变量A进行增1 (A++)运行一千万次分别在单线程和 十个线程下进行。在多線程下必须使用同步协调机制
可以看出,在多线程里使用 CSWMRG电脑慢得 好像死了。
可以看出原子锁引起的时间消耗极少,从单线程到多線程仅仅 损耗 不到3%