并发编程
文章平均质量分 67
DawnDreamer
这个作者很懒,什么都没留下…
展开
-
Java并发编程实战笔记(一):线程安全性
线程也被称为轻量级进程。由于同一个进程中的所有线程都将共享进程的内存地址空间,因此这些线程都能访问相同的变量并在同一个堆上分配对象,这就需要实现一种比在进程间共享数据粒度更细的数据共享机制。当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这些线程对变量的访问。Java中的主要同步机制是关键字synchronized,它提供了一种独占加锁方式,但“同步”这个术语还包原创 2015-08-13 00:22:20 · 556 阅读 · 0 评论 -
Java并发编程实战笔记(二):对象的共享
可见性为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。缺乏同步的程序中可能产生错误结果的一种情况:失效数据。加锁的含义不仅仅局限于互斥行为,还包含内存可见性。为了确保所有线程都能看到共享变量的最新值,所有执行读操作或者写操作的线程都必须在同一个锁上同步。Java提供了一种稍弱的同步机制,即volatile变量,用来确保变量的更新操作通知到其他线程。当把变量声明为volatile类原创 2015-08-14 00:25:39 · 757 阅读 · 0 评论 -
Java并发编程实战笔记(三):对象的组合
这里介绍一下组合模式。编写线程安全的类的一个重要的思路就是,将一些现有的线程安全组件组合为更大规模的组件或者程序。在设计线程安全类的过程中,需要包含以下三个基本要素:1.找出构成对象状态的所有变量。2.找出约束状态变量的不变性条件。3.建立对象状态的并发访问管理策略。收集同步需求要确保类的线程安全性,就需要确保它的不变性条件不会在并发访问的情况下被破坏。同样,在操作中还原创 2015-08-18 19:08:39 · 682 阅读 · 0 评论 -
Java并发编程实战笔记(四):基础构建模块
委托是创建线程安全类的一个最有效的策略:只需让现有的线程安全类管理所有的状态即可。1.同步容器类JDK中的同步容器类包括Vector和Hashtable等类,这些类实现线程安全的方式是:将它们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能访问容器的状态。当多个线程同时访问修改容器时,可能会产生一些意料之外的行为,如public static Object getLa原创 2015-08-19 00:04:38 · 473 阅读 · 0 评论