多线程

并发Concurrency和并行Parallism的区别

多线程问题如果是单核CPU,就是并发问题, 有多核CPU就并行

Lock

java.util.concurrent.locks里有3个实现

  1. ReentrantLock

  2. ReentrantReadWriteLock

  3. ReadWriteLock

lock更灵活,可以自由定义多把锁的枷锁解锁顺序(synchronized要按照先加的后解顺序)

BlockingQueue

BlockingQueue除了传统的queue功能之外,还提供了阻塞接口put和take,带超时功能的阻塞接口offer和poll。put会在队列满的时候阻塞,直到有空间时被唤醒;take在队 列空的时候阻塞,直到有东西拿的时候才被唤醒。用于生产者-消费者模型尤其好用,堪称神器。

Synchronized

Last updated

Was this helpful?