![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
文章平均质量分 78
iteye_14430
这个作者很懒,什么都没留下…
展开
-
Java虚拟机并发编程-1.并发的威力与风险
1.1 线程:程序的执行流程 线程可以看成是进程中的一个执行流程,当我们运行一个程序的时候,其所属进程中至少存在一个执行线程。当多个线程在同一个应用程序或JVM实例下运行的时候,实际意味着此时有多个人物或操作在并发运行。我们所说的并发程序通常是指那些使用了多线程或多个并发执行流程的应用程序。 单核处理器将会不断的在多个执行流程中进行上下文切换,但任意时刻有且只有一个线程能够被执行。...原创 2014-12-18 11:03:34 · 88 阅读 · 0 评论 -
Java虚拟机并发编程-2.并发策略
2.1 分而治之 确定线程数:我们希望至少可以创建处理器核心数那么多个线程。这就保证了有尽可能多的处理器核心可以投入到解决问题的工作中去。通过下面的代码我们可以很容易获取系统可用的处理器核心数:Runtime.getRuntime().availableProcessors(); 所以应用程序最小线程数应该等于处理器核心数。如果所有的任务都是计算密集型...原创 2014-12-18 18:44:38 · 88 阅读 · 0 评论 -
Java虚拟机并发编程-3.设计方法
处理状态是不可避免的,我们有三种方法用于处理状态:共享可变性方法、隔离可变性方法和纯粹不可变性方法。 虽然我们过去一直在使用共享可变性方法,但应该尽可能的避免它。消除共享可变状态是避免同步问题的最简单的途径。如果想使用完全不可变性的设计,就需要使用既可以维护状态、性能又好的新式数据结构。...原创 2014-12-19 10:14:03 · 99 阅读 · 0 评论