欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

多线程问题

程序员文章站 2022-03-13 17:11:29
实现线程间通讯的方式: 1、共享变量实现 1.1 利用基synchronized notify wait来实现 1.2 利用lock和condition实现 1.3 利用volatile 该关键字修饰的变量直接存储在main memory 不像其他线程的变量存储在local thread 1.4 利 ......

实现线程间通讯的方式:

1、共享变量实现

     1.1 利用基synchronized notify wait来实现

     1.2 利用lock和condition实现

     1.3 利用volatile 该关键字修饰的变量直接存储在main memory 不像其他线程的变量存储在local thread

     1.4 利用atomicinteger

2、cyclicbarrierapi 实现一组线程全部到达时(执行wait),再一同执行,所有线程释放后还可复用它

3、pipedinputstreamapi 用流在线程间通信,由于java中的流是单向的,所以两个线程中必须分别建立input和output,速度较慢

4、blockingqueue 队列实现 该类实现了 add offer put poll peek take 等方法