降低系统的响应时间
并发编程缺点
并发代码容易出错,不好调试,很容易产生概率性的、难以复现的Bug
线程有创建和上下文切换的开销(实验表明,当并发执行累加操作不超过百万次时,速度会比串行执行累加操作要慢...)
什么是并发编程
并发编程领域可以抽象成三个核心问题:分工、同步和互斥
分工
从性能角度讲,我们为了提高执行一定计算机任务的效率,所以IO等待的时候不能让cpu闲着,所以我们把任务拆分交替执行,有了分时操作系统...并发和通信带来了较高的编程复杂度,同时也出现了多线程并发操作共享资源的问题。于是天下大势,分久必合,我们又要将对共享资源的访问串行化。...),为了解决通信带来的安全性问题,我们引入了互斥
如何学好并发编程
方法论层面:
「跳出来,看全景」三个核心问题:分工、同步和互斥
「钻进去,看本质」JSR-133
构建并发领域全景图
稍微了解过并发领域知识的人都知道...使用的是多线程模型,对应到具体的代码就是:Thread,Runnable,Task,执行任务有:Exectors
协作|通信| 互斥
引出了线程,我们势必存在着多线程通信问题,多个线程操作同一个变量造成的安全性问题如何解决那