Master-Worker模式适合在一个任务可以拆分成多个小任务来进行的情况下使用。packagecn.fcl.masterworker;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Queue;
importjava.util.concurrent.ConcurrentHashMap;
importjava.util.concurrent.ConcurrentLinked..
分类:
编程语言 时间:
2014-05-14 18:26:04
阅读次数:
243
1、当你想并发去执行一段代码,但是还想获取这段代码的返回结果,那么future多线程模式就可以派上用场了,代码实现如下。publicclassClient{
publicDatarequest(){
finalFutureDatafutureData=newFutureData();
newThread(newRunnable(){
@Override
publicvoidrun(){
futureDat..
分类:
编程语言 时间:
2014-05-13 01:29:02
阅读次数:
405
第六章
任务执行大多数并发应用程序是围绕执行任务进行管理的。设计任务时,要为任务设计一个清晰的任务边界,并配合一个明确的任务执行策略。任务最好是独立的,因为这会提高并发度。大多数服务器应用程序都选择了下面这个自然的任务边界:单个客户请求。任务时逻辑上的工作单元,线程是使任务异步执行的机制。应用程序内...
分类:
编程语言 时间:
2014-05-08 18:38:07
阅读次数:
425
1.同步容器,同步容器包括Vector和HashTable,是早期jdk的一部分。另一部分是同步包装类,以Collections.synchronizedxxx的工厂方法创建。
2.同步容器虽然是线程安全的,但是对于复合操作,有时你可能需要加上额外的客户端加锁进行保护,即对于使用这些容器的客户端代码,如果存在复合操作,还是可能存在风险。
3.例如check-and-act操作、循环中的元素操作...
分类:
编程语言 时间:
2014-05-07 08:33:56
阅读次数:
423