![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
张恒_ZH
这个作者很懒,什么都没留下…
展开
-
BlockingQueue 解决生产者消费者问题
BlockingQueue 是线程安全的,并且在调用 put,take 方法时会阻塞线程。基于以上特性,可以不加任何锁解决生产者消费者问题。public static void main(String[] args) throws InterruptedException { BlockingQueue<String> bq = new LinkedBlock...原创 2019-05-21 13:26:26 · 747 阅读 · 0 评论 -
Java集合 TransferQueue
线程安全的transfer(T t) 直接把内容传递个消费者,如果没有消费者将会阻塞public static void main(String[] args) throws InterruptedException { TransferQueue<String> tq = new LinkedTransferQueue<>(); ...原创 2019-05-21 14:31:50 · 196 阅读 · 0 评论 -
java lock 锁
需要手动释放锁boolean lock.tryLock(long time, TimeUtil util); 尝试申请锁并持续 time , 申请到返回 truevoid lock.lockInterruptibly() throws InterruptedException; 持续申请锁,效果等同与lock.lock(),但是lockInterruptibly() 可以在主线程取...原创 2019-05-13 17:15:09 · 200 阅读 · 0 评论