![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
iteye_20849
这个作者很懒,什么都没留下…
展开
-
并发编程学习笔记
并发编程第2章,基础篇2.1线程安全1并发编程即是要控制对共享的可变的变量的存取操作顺序2保证同步的方法,在语法/代码级别来说,可以使用synchronized,volatile,或者是现式的锁,或者使用原子变量3好的设计是避免线程危险的良方,使用OO的方法尽量避免线程的隐患。4线程安全的program不一定是由线程安全的classes组成的5什么是线程安全,如何区分哪些是...2007-12-25 00:01:33 · 136 阅读 · 0 评论 -
并发编程学习笔记2
并发编程第3章,共享对象 synchonized不仅仅是将代码块声明成原子操作,而且管理的变量在内存中的可见性,保证其他代码看到的值是真实的值。应该是直接操作主存3.1可见性 由于java内存模型的关系,变量的可见性也变的有些诡异。jmm有主存和本地存储的区别。当一个变量的值在本地存储中改变了,那么其他线程从主存中读取值时,很有可能是不能及时获取到最新的值的。这就是可见性。锁可以实现这...2007-12-25 00:03:26 · 128 阅读 · 0 评论 -
并发编程学习笔记3
组合对象创建自己新的线程安全的对象时,优先考虑将操作委派给已有的线程安全的类去做。如果是给已有对象新增功能,则需要考虑已有对象的同步策略,需要与其保持一致,才能保证新对象的线程安全。。。。。。。没怎么看明白,等买了中文版对照着再看几遍吧。。。。。。...2007-12-25 00:07:32 · 86 阅读 · 0 评论 -
并发编程学习笔记4
并发集合框架同步框架(sysnchronized collections)和并发框架(concurrent collections)的区别。java5在同步的集合框架方面做了一些改进,提供了几个并发集合类。同步集合类通过序列化对集合状态的访问来保证线程安全。这种方法的代价就是降低并发性;当多个线程竞争这个集合的锁的时候,吞吐量自然降低了。而并发集合类就是专门被设计出来实现多线程...2007-12-25 15:08:25 · 79 阅读 · 0 评论 -
并发编程学习笔记5
[b]阻塞的队列和生产者消费者模式[/b]主要讲述了,jdk5,6提供的各种阻塞队列。最有意思的是jdk6中提供的双向队列Deque和BlockDeque,这种队列的工作原理很有意思,他们自己有自己的producer,然后一般来说都自己去消费生产的东西,但是如果某个队列已经将自己的消费完了,那么他会从别人的队列末尾取东西然后消费,大大减少竞争的几率。这种模式也叫作“Work Stealin...2007-12-28 16:23:34 · 86 阅读 · 0 评论 -
并发编程学习笔记6
[b]同步器[/b]在集合类中阻塞队列是对一无二的:不仅仅因为他是对象的容器,而且还因为他能协调生产者和消费者线程的控制流程,这得归功于take和put方法的阻塞。同步器可以是任何能基于状态协调线程控制流程的对象。阻塞线程可以当作同步器;其他类型的同步器包括semaphores,barriers,latches.这些同步器类在jdk中就有提供。所有的同步器都具有某些基础的属性:...2007-12-29 11:22:48 · 92 阅读 · 0 评论 -
并发编程学习笔记8
[b]在线程中执行任务[/b]在组织一个有关线程的程序的时候,第一步就是需要清晰的划分出任务的边界。在理想状况下,任务应该是相互独立的活动:任务不依赖于状态,其他任务的结果,或者受其他任务的影响。独立可以是并发更容易,而且可以并行执行,只要有足够的资源。Server Application往往都希望有很好的吞吐量和高的响应性。当一个程序在负载过重的情况下,是变为不可用,还是有其他行为,...2008-01-02 10:22:08 · 94 阅读 · 0 评论