多线程
会飞的小猪象
从点滴做起。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JUC中CountDownLatch、CyclicBarrier和Semaphore
一、CountDownLatch(倒计时锁存器) CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch类只提供了一个构造器: 1 public CountDownLat...原创 2018-07-23 16:59:34 · 368 阅读 · 0 评论 -
为什么volatile不能保证原子性而Atomic可以?
转自:http://www.cnblogs.com/Mainz/p/3556430.html 在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方...转载 2018-08-06 15:55:45 · 188 阅读 · 0 评论 -
如何关闭一个线程
当一个线程的代码执行完或者有异常就会关闭线程,但是如果手动关闭的话,有stop()方法,但是慎用,因为不是线程安全的。 如果正确的关闭呢,可以采用用一个变量来控制: public class StopThread implements Runnable{ public static boolean isStop = true; public static void ...原创 2018-08-06 15:57:11 · 1728 阅读 · 0 评论
分享