![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
weixin_36321914
这个作者很懒,什么都没留下…
展开
-
JAVA并发编程-障碍器CyclicBarrier,计数器CountDownLatch,信号量Semaphore
CountDownLatch利用它可以实现类似计数器的功能。 比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了 构造器 public CountDownLatch(int count) { }; //参数count为计数值 方法 public void await() throws转载 2016-10-07 20:36:35 · 325 阅读 · 0 评论 -
JAVA并发编程-LOCK锁
Lock接口有3个实现它的类: ReentrantLock 重入锁 ReetrantReadWriteLock.ReadLock 读锁 ReetrantReadWriteLock.WriteLock 写锁 代码示例: Lock lock = new Reentrant转载 2016-10-07 20:50:12 · 273 阅读 · 0 评论 -
JAVA并发编程-Executor框架与线程池
通过Executor来启动线程比使用Thread的start方法更好,除了 更易管理 效率更好(用线程池实现,节约开销) 关键的一点:有助于避免this逃逸问题——如果我们在构造器中启动一个线程,因为另一个任务可能会在构造器结束之前开始执行,此时可能会访问到初始化了一半的对象用Executor在构造器中 ExecutorService的生命周期包括三种状态:运行、关闭、终止转载 2016-10-07 21:23:36 · 270 阅读 · 0 评论 -
JAVA7并发编程手册笔记
isInterrupted:不能改变interrupted属性值,只是返回这个属性的值; Thread类的静态方法interrupted设置interrupted属性为false。推荐使用isInterrupted()deuqe 双端队列UncaughtExceptionHandler接口 实现 uncaughtException()方法打印异常,跑出异常的线程代码 Threa转载 2016-10-07 21:38:21 · 195 阅读 · 0 评论