多线程问题
程序员文章站
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 等方法
下一篇: python列表中的赋值与深浅拷贝