![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
06飞鸟06
小码农
展开
-
Java用BlockingQueue模拟生产者消费者
可直接复制后测试 主要思想是想利用BlockingQueue源码中提供的思路去实现手动控制生产者生产动作和消费者的消费动作 实现中利用了SynchronousQueue队列只能存一个元素的原理,给生产者和消费者各放入一个该对象, 在生产和消费时利用该队列的阻塞功能控制向同一个阻塞队列BlockingQueue中放入和拿出元素 package com.study.concurrent.queue; import java.util.concurrent.BlockingQueue; import.原创 2020-08-26 22:43:09 · 144 阅读 · 1 评论 -
多线程join方法的理解
join方法是定义在Thread类里的一个final成员方法,因此需要一个Thread对象调用该方法,其语义为将调用join方法的线程对象加入到当前执行线程中先去执行。 先上源码 /** * Waits for this thread to die.(等待直到调用该方法的线程死亡,即线程运行结束) * ......(省略) */ public fina...原创 2019-12-17 12:30:18 · 175 阅读 · 0 评论 -
多线程死锁
模拟死锁的过程一: public class T { Object o1 = new Object(); Object o2 = new Object(); private void m1() { synchronized (o1) { System.out.println("锁住o1"); synchronized (o2) { System.out.print...原创 2019-05-20 16:49:23 · 221 阅读 · 0 评论