专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

多线程和单线程有什么本质区别_java

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/7 1:05:57       共计:3596 浏览

多线程和单线程有什么本质区别?

多线程和单线程本质区别是:

(1)多线程的产生并不是因为发明了多核CPU甚至现在有多个CPU+多核的硬件,也不是因为多线程CPU运行效率比单线程高。单从CPU的运行效率上考虑,单任务进程及单线程效率是最高的,因为CPU没有任何进程及线程的切换开销,

(2)实际上,多线程的出现主要为了解决IO设备的读写速度往往比CPU的处理速度慢造成的单线程程序运行阻塞问题,一个极端的例子就是如果你需要用户在键盘上输入一个数据,当用户没有输入前,单线程程序就阻塞了,多线程程序就可以放个音乐或继续干一些程序中除了键盘输入外的工作,因此,多线程能提高因程序由于等待某个资源阻塞时其他资源的利用率(是利用率不是效率)。

(3)因此多线程与单线程的最大区别,多线程程序能在等待某个IO操作时,继续完成非这个IO的其他工作,有利于提高完成整个任务的效果和速度。此外,多线程程序与单线程程序对程序设计也有不同的流程和结构,多线程需要考虑对静态变量等资源的操作互锁及程序执行的同步问题。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:济南达内学jaVa靠谱吗_java | ·下一条:横扫印度市场KaiOS_java

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有