本文使用java语言借助java并发库去实现生产者和消费者问题。主要设计思路:1.物料池是共享容器;2.生产者只负责生产物料,添加到物料池中;3.消费者从池中获取物料。在这里使用ReenTranLock控制共享容...
分类:
其他好文 时间:
2014-09-09 18:38:39
阅读次数:
123
动态的锁顺序死锁
在协作对象之间发生的死锁
死锁的避免与诊断
支持定时的锁
通过线程转储信息来分析死锁
其它活跃性危险
饥饿
糟糕的响应性
活锁...
分类:
编程语言 时间:
2014-09-09 13:13:08
阅读次数:
225
这篇记录一下保证并发安全性的策略之——不变性。下面是一段音乐,歌名是——不可变对象^^将一连串行为组织为一个原子操作以保证不变性条件,或者使用同步机制保证可见性,以防止读到失效数据或者对象变为不一致状态,这些问题都是因为共享了可变的数据。如果我们能保证数据不..
分类:
其他好文 时间:
2014-09-08 11:00:57
阅读次数:
583
为什么GUI是单线程的
避免活跃性危险
死锁
线顺序死锁
动态的锁顺序死锁...
分类:
编程语言 时间:
2014-09-07 23:50:06
阅读次数:
421
线程工厂
在调用构造函数后再定制ThreadPoolExecutor
扩展ThreadPoolExecutor
递归算法的并行化...
分类:
编程语言 时间:
2014-09-07 22:30:15
阅读次数:
328
保证并发安全性的方式有三:·不共享·不可变·同步前两种方式相对第三种要简单一些。这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考。共享(shared),可以简单地认为多个线程可以同时访问某个对象。如果仅仅在单线程内进行访问则不存在同步的问题..
分类:
编程语言 时间:
2014-09-07 03:25:15
阅读次数:
292
设置线程池的大小
配置ThreadPoolExecutor
管理队列任务
饱和策略...
分类:
编程语言 时间:
2014-09-06 22:33:34
阅读次数:
353
在Java并发编程实践中4.4中提到向客户端加锁的方法。此为验证示例,写的不好,但可以看出结果来。package com.blackbread.test;import java.util.ArrayList;import java.util.Collections;import java.util....
分类:
编程语言 时间:
2014-09-05 19:37:11
阅读次数:
256