随笔分类 - 并发编程
java并发编程的实现,java并发框架的使用以及源码剖析
摘要:concurrent包是java提供的并发编程框架的一个库,该库为java并发编程提供各种各样的组件,主要包括以下几个方面: Atomic数据类型 该部分主要是针对java的基础数据类型Boolean,Integer,Long,Reference,实现了其原子化操作的数据类型,该部分被放在java....
阅读全文
摘要:java中提供了丰富的集合类操作,大概可以分为无序结合Set,有序集合List和无序键值对集合Map。Java5之后又新增了队列操作集合Queue。Java1.5之后新增了线程安全的集合操作类,阻止在java.util.concurrent包中。本文仅仅探讨该包下面的线程安全的结合操作类。 先看下c...
阅读全文
摘要:一 Executor接口 Executor接口的对象是一种执行任务的方式。它能够使提交的任务和执行任务的线程的管理解耦。我们通常用Executor来代替new一个Thread对象来执行任务。这样可以省略底层线程的管理细节。例如: executor.excute(newRunnableTask());...
阅读全文
摘要:一 任务取消 中断——任务的取消策略 一些特殊的阻塞库的方法支持中断。线程的中断时一种写作机制,通过这种协作机制,线程可以通知另一个的线程,在合适的或者可能的情况下,停止当前工作并且转而执行其他的工作。 在java的API文档中,并没有将中断与任何任务取消的语义关联起来,但是实际上如果在取消之外的其...
阅读全文
摘要:一. Executor框架------------------------------------------------------------------------《未完》----------------------------------------------------
阅读全文
摘要:一、同步容器类 同步容器类包含Vector,Hashtable。以及在JDK1.2中添加的一些功能类似的容器类,他们是由Collections.synchronisedXxx等工厂方法创建的。这些类实现线程安全的方式就是将底层容器类的状态变量封装起来,并且同步每一个公有的方法,使得每次只能有一个线程...
阅读全文
摘要:在设计线程安全的类的时候应该考虑可以将安全性委托给底层的一些已经实现线程安全的类。通过组合和委托的形式了来构造新的线程安全的类。
阅读全文
摘要:首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不...
阅读全文