自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 使用ReentrantLock与wait()notifyAll对比实现线程通讯-生产者消费者模式

实现目标: 1.ReentrantLock 建立一个容器,10个消费者,2个生产者,消费者消费数据,生产者生产数据。 容器中数据达到10,生产者等待,消费者进行消费 容器中数据为0,消费者等待,生产者进行生产 public class TestContainer<W> { List<W> list=Collections.synchronizedList(new ArrayList()); final static int MAX=10; static int

2021-03-05 16:54:30 596

原创 线程通讯两个Demo,wait()notify()与park()unpark()

实现目标:两个线程,线程1向list集合装入对象,装入到第5个元素时,线程2输出一句话,再次回到线程1,直到装入10个元素。 1.使用wait(),notify() (1)首先启动线程2,进入同步代码块,判断list的元素数量,如果不为5,调用wait方法,让出同步锁。 (2)线程1拿到锁,顺序向list集合中放入元素,当集合元素数量达到5时,调用notify方法,调用wait方法(如果不调用wait方法,无法释放锁,将会执行到循环结束) (3)线程2向下执行,输出一句话,调用notify方法 (4)线程1

2021-03-04 21:00:58 147 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除