多线程问题

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 等方法

 

以上是关于多线程问题的主要内容,如果未能解决你的问题,请参考以下文章

C++多线程问题

27多线程(多线程的三种实现方式Thread线程类的常见方法线程安全问题)

27多线程(多线程的三种实现方式Thread线程类的常见方法线程安全问题)

多线程安全问题及各种锁

万字狂淦多线程__(多线程学习笔记)

关于多线程提高程序执行速率的问题