1.信号量和pv操作
https://www.cnblogs.com/nzbbody/p/4219957.html
https://www.cnblogs.com/lavenderzh/p/5324961.html
https://blog.csdn.net/anla_/article/details/70154757
https://blog.csdn.net/yanshuanche3765/article/details/78405872
https://www.cnblogs.com/dolphin0520/p/3920373.html
2.Java多线程生成者和消费者的5种实现
- wait() / notify()方法(synchronized)
- await() / signal()方法(Lock,Condition)
- BlockingQueue阻塞队列方法(Reentrantlock)
- Semaphore方法(Semaphone)
- PipedInputStream / PipedOutputStream(java.io)
https://my.oschina.net/hosee/blog/485121#OSC_h4_4
多线程的3个特性:
(1)原子性
(2)有序性
(3)可见性
(4)happen-before原则