搜了下跟多线程的面试题目,全是JAVA的,JAVA在多线程方面比C++有优势吗

slwj 2019-04-21 08:37:48
搜了下跟多线程的面试题目,全是JAVA的,JAVA在多线程方面比C++有优势吗

多谢各位!
...全文
477 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongshou 2019-04-25
  • 打赏
  • 举报
回复
多线程编程,不能仅仅考虑编程方便,程序运行效率影响非常大。不好的编程可能会让程序运行速度降到 10%以下,好的编程可能只是降到 90%
tongshou 2019-04-25
  • 打赏
  • 举报
回复
多线程编程的关键是如果懂得在多线程下的共享数据操作。利用系统提供的传统锁,效率很差,无论是C++还是JAVA,都是如此。
最好的方式应该是使用无锁的“原子”操作 共享数据,这方面 C++显然 方便多。
slwj 2019-04-25
  • 打赏
  • 举报
回复
引用 4 楼 走好每一步 的回复:
[quote=引用 楼主 slwj 的回复:] 搜了下跟多线程的面试题目,全是JAVA的,JAVA在多线程方面比C++有优势吗 多谢各位!
Java在多线程方便封装的接口简单多了,更面向对象。[/quote] 您也是用JAVA吗,懂C++的话,学习JAVA上手要多久?
tongshou 2019-04-25
  • 打赏
  • 举报
回复
effrey Richter 设计的同步锁 CSWMRG,使用的还是运行效率比较好的传统同步机制: CriticalSection
tongshou 2019-04-25
  • 打赏
  • 举报
回复
可以看出,原子锁引起的时间消耗极少,从单线程到多线程仅仅 损耗 不到3%
同步锁 CSWMRG则消耗超过 85%

tongshou 2019-04-25
  • 打赏
  • 举报
回复
这方面的实用文章很少看到。网上倒是有不少“无锁“操作的探讨文章。

有些比较是我个人的测试结果。



我曾经测试:对同一个整数变量A进行增1 (A++)运行一千万次,分别在单线程和 十个线程下进行。在多线程下必须使用同步协调机制。
分别使用Jeffrey Richter 设计的同步锁 CSWMRG, 和 一种 新的 同步锁 “wrLock” (实际上就是一种很特殊的原子锁)
可以看出,在多线程里使用 CSWMRG,电脑慢得 好像死了。
走好每一步 2019-04-25
  • 打赏
  • 举报
回复
不过也看你学C++的时候,会不会基本的设计模式,如果不会,看java线程库的用法等也会吃力的。
走好每一步 2019-04-25
  • 打赏
  • 举报
回复
引用 5 楼 slwj 的回复:
[quote=引用 4 楼 走好每一步 的回复:] [quote=引用 楼主 slwj 的回复:] 搜了下跟多线程的面试题目,全是JAVA的,JAVA在多线程方面比C++有优势吗 多谢各位!
Java在多线程方便封装的接口简单多了,更面向对象。[/quote] 您也是用JAVA吗,懂C++的话,学习JAVA上手要多久?[/quote] 我懂一点Java,C++转Java上手很快,我觉得一个月就够了,但是精通又是另外一回事
slwj 2019-04-25
  • 打赏
  • 举报
回复
引用 6 楼 tongshou 的回复:
多线程编程的关键是如果懂得在多线程下的共享数据操作。利用系统提供的传统锁,效率很差,无论是C++还是JAVA,都是如此。 最好的方式应该是使用无锁的“原子”操作 共享数据,这方面 C++显然 方便多。
哪里有文章佐证您的观点?
走好每一步 2019-04-23
  • 打赏
  • 举报
回复
引用 楼主 slwj 的回复:
搜了下跟多线程的面试题目,全是JAVA的,JAVA在多线程方面比C++有优势吗 多谢各位!
Java在多线程方便封装的接口简单多了,更面向对象。
fei得更高 2019-04-23
  • 打赏
  • 举报
回复
用Java的人比较多
636f6c696e 2019-04-22
  • 打赏
  • 举报
回复
java提供了很多同步异步的方法接口,操作多线程比较方便
slwj 2019-04-22
  • 打赏
  • 举报
回复
自己顶一下!!

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧