[关闭]
@chenbinghua 2019-03-02T06:45:18.000000Z 字数 449 阅读 901

java基础课程第15天 多线程

java基础笔记


生产者和消费者模式

U$HHCWGN_[~YRB$QP6UU4VR.png-138.3kB

生产者生产数据到缓冲区中,消费者从缓冲区中取数据。
如果缓冲区已经满了,则生产者线程阻塞;
如果缓冲区为空,那么消费者线程阻塞。

简化模型

生产者和消费者模式中可以有多个生产者,多个消费者,共享资源可以保存多条数据。
为了简化,假定只有一个生产者,一个消费者,共享资源只保存一条数据。

代码实现参考https://www.cnblogs.com/fankongkong/p/7339848.html

1.方式一:synchronized、wait和notify 实现线程通信
2.方式二:lock和condition的await、signalAll
3.方式三:BlockingQueue

方式一:synchronized、wait和notify

死锁

避免死锁法则:当多个线程要访问共享的资源A,B,C时,保证每一个线程都按照相同的顺序去访问他们,比如都先访问A,接着B,最后C.

线程的生命周期

线程操作

线程休眠sleep()
联合线程
后台线程
线程优先级
线程礼让

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注