线程间通信
Posted meteor12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程间通信相关的知识,希望对你有一定的参考价值。
- 基于 wait/notify 机制的生产者-消费者模式
- 一个线程可以持有一个PipedInputStream对象,这个PipedInputStream对象在内部维护了一个字节数组,默认大小为1024字节。它并不能单独使用,需要与另外一个线程持有的一个PipedOutputStream建立关联关系,PipedOutputStream往该字节数组中写数据,PipedInputStream从该字节数组中读数据,从而实现两个线程的通信。
- 使用 join 方法可以实现一个线程在另一个线程执行完毕后才继续执行的功能。
- java为了方便管理线程,对底层的操作系统的线程状态做了一些抽象封装,定义了 NEW、RUNNABLE、BLOCKED、WAITING、TIME_WAITING、TERMINATED 这些线程状态,与操作系统中的线程有一些区别:
-
- 对于在操作系统中线程的 运行/就绪 状态,java语言统一使用 RUNNABLE 状态来表示。
- 对于在操作系统中线程的 阻塞 状态,java语言中使用 BLOCKED、WAITING和TIME_WAITING这三个状态分别表示。
以上是关于线程间通信的主要内容,如果未能解决你的问题,请参考以下文章