线程
别等时光染了梦想
水不撩不知深浅,人不拼怎知输赢
展开
-
【多线程编程】认识CyclicBarrier、CountDownLatch、Semaphore、Exchanger
简介 CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用await方法...原创 2018-10-28 15:34:37 · 178 阅读 · 0 评论 -
【多线程编程】认识死锁
死锁 死锁是指两个或两个以上的进程在执行过程中, 由于竞争资源或者由于彼此通信而造成的一种阻塞的现象, 若无外力作用,它们都将无法推进下去。 此时称系统处于死锁状态或系统产生了死锁, 这些永远在互相等待的进程称为死锁进程。 手动写死锁代码 public class DeadLock { private static Object a = new Object(); pri...原创 2018-10-29 08:43:51 · 222 阅读 · 1 评论 -
【多线程编程】 synchronized全局锁和实例锁的区别
实例锁 -- 锁在某一个实例对象上。如果该类是单例,那么该锁也具有全局锁的概念。 实例锁对应的就是synchronized关键字。全局锁 -- 该锁针对的是类,无论实例多少个对象,那么线程都共享该锁。 全局锁对应的就是static synchronized(或者是锁在该类的class或者classloader对象上)。 关于“实例锁”和...转载 2018-11-14 21:32:24 · 891 阅读 · 0 评论 -
【多线程】wait和notify功能演示
转载:http://www.cnblogs.com/skywang12345/p/3479224.html wait(), notify(), notifyAll()等方法介绍 在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和...转载 2018-11-14 21:50:16 · 477 阅读 · 0 评论