多线程问题
Posted niuyg928
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程问题相关的知识,希望对你有一定的参考价值。
实现线程间通讯的方式:
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 等方法
以上是关于多线程问题的主要内容,如果未能解决你的问题,请参考以下文章
27多线程(多线程的三种实现方式Thread线程类的常见方法线程安全问题)