Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 328|回复: 0

[Java线程学习]并发编程:已成必要

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-11-4 23:59:59 | 显示全部楼层 |阅读模式
    什么是并发机制
    处理器同时处理二个或者二个以上的任务,即为并发机制。

    单核时代,并发仅是操作系统给我们的一个假象。I/O操作速度远远慢于CPU处理速度(键鼠输入、硬盘读写、网络传输等速度远慢于内存读写速度,而内存速度又远慢于CPU缓存速度……),所以有效的利用I/O操作间隙时的CPU,成为并发机制的来由。早期并发由粗粒度的进程调度来实现,即将等待I/O操作结果的进程挂起,让下一个等待CPU处理的进程进入并运行,如此尽可能提高CPU的使用利用率。调度花销更小的线程技术出现后,并发编程即指多线程编程了。

    现在,已经进入多核时代,也就是真正的并发机制时代。

    可笑的现象
    摩尔定律:1965年,摩尔指出芯片中的晶体管和电阻器的数量每年会翻番,原因是工程师可以不断缩小晶体管的体积。这就意味着,半导体的性能与容量将以指数级增长,并且这种增长趋势将继续延续下去。1975年,摩尔又修正了摩尔定律,他认为,每隔24个月,晶体管的数量将翻番。   
      
       
       
         
       

         
       
      
         该定律,过去一直都有效地预言着。处理器以及其它硬件设备的性能都在大幅度地提高!

    然而,软件性能的发展却没有跟上这节奏,仅只在产品推出速度上提高着。软件生产者乐观地幻想着:硬件性能这么高,提升速度这么快。根本没有必要去担心软件的性能。所以一些所谓的程序员不需要理解算法为何物、不曾有优化的概念!他们遵循地是,符合用户需求的软件,能快速推出就行!

    当然,目前来说,这样认为是无可厚非的!因为,高性能的硬件系统给予了足够地包涵。

    警钟,摩尔定律终结
    04年,狂热追求处理器主频的Intel宣布取消4G处理器的研制计划,转投多核处理器。这一举动就意味着单核处理器的摩尔定律已经到达终点。虽然许多技术人员不认同,但现实却不容改变。

    现在,多核技术已经成为Intel与AMD硝烟弥漫的战场。这也表明,两者都在单核技术上已无计可施。

    对于软件工作者来说,仍然肆意挥霍硬件资源,或者不改变自己程序的运行方式,则会面临被PC淘汰的可能。因为多核时代的硬件系统,工作方式已经完全改变!

    并发编程,已成必要
    现在,不研究多线程是如何提高性能,而只提充分利用硬件资源这一点。

    完成某任务,一个支持多线程运算,一个仅是单线程运算,用户肯定毫不犹豫地选择前者。因为,厂商选择多核来提高处理器的性能,而用户升级同样只能选择多核处理器。

    如果想让自己的软件产品被PC接受,那么你目前照样可以不需知道算法为何物、不需去优化代码,但必须知道并发是怎么回事,知道怎样让软件产品充分的利用多核的硬件系统。



      
      
       
       

         
       

         
       
      
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-25 13:19 , Processed in 0.324577 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表