05 2013 档案

摘要:Executor框架可以将任务的提交与任务的执行策略解耦开来,但是虽然executor框架为制定和修改执行策略都提供了很大的灵活性,但是并非所有的任务都能使用所有的执行策略。有些类型的任务需要明确的指定执行策略,包括: 依赖性任务。如果提交给线程池的任务需要依赖其他的任务,那么就隐含的给执行策略带来了约束,此时必须小心的维持这些执行策略以避免活跃性问题。 使用线程封闭机制的任务。与线程池相比,单线程的Executor能够对并发性作出更强的承诺。它们能够确保任务不会并发的执行,使你能够放宽代码对线程安全的要求。如果将Executor从单线程环境改为线程池环境,那么将失去线程安全性。 对... 阅读全文
posted @ 2013-05-22 21:29 editice 阅读(902) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。
posted @ 2013-05-22 16:23 editice 阅读(9) 评论(0) 推荐(0)
摘要:参考:http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html《Thinking In JAVA》《JAVA 并发编程实践》http://www.cnblogs.com/taven/archive/2011/12/17/2291469.htmlhttp://blog.csdn.net/qxs965266509/article/details/8134334 之前我们一直在研究关于java并发的理解部分,这阶段我们将会了解一些关于java并发在代码上的实践部分,例如执行任务,取消关闭等。事实上并发通常是提高运行在单处理器. 阅读全文
posted @ 2013-05-16 19:48 editice 阅读(474) 评论(0) 推荐(0)
摘要:java的并行基础模块主要包括线程安全的容器类和各种用于协调多个相互协作的线程控制流的同步工具类(synchronizer)。线程安全的容器:同步容器类,并发容器类同步工具类: 闭锁,FutureTask,信号量,Barrier (栅栏)同时我们还需要了解下生产者和消费者模式,但是首先,我们讨论下关于线程安全的容器,也就是同步容器类和并发容器类。同步容器类同步容器类包括Vector和Hashtable,这个都是早期的JDK中的产物,他们实现线程安全的方式是:将他们的状态封装起来,并对每个公有方法都进行同步,使得每次只有一个线程能够访问容器的状态。他们的实现都比较简单,但是与此同时也带来了问题: 阅读全文
posted @ 2013-05-07 16:09 editice 阅读(387) 评论(0) 推荐(0)