最简单的实现是当我们从单个类的 main 方法调用其他实现 runnable 的类时:
public static void main(String [] args){
// declarations ...
receiver.start();
player.start();
}
在接收器内部说我有一个接收数据包值的 while 循环,我想将该值发送到第二个线程。如何做到这一点?
澄清一下,我还不关心一个线程控制另一个线程,我只希望第一个线程与第二个线程共享值。
撇开小问题 - JDK 7 Fork 是否真的显着提高了 java 并发 api 的性能?
谢谢你的时间,
最佳答案
一个简单的选择是使用 java.util.concurrent.atomic.AtomicReference
(或 one of the other Atomic...
classes )。创建AtomicReference
的单个实例,并将其传递给各种线程运行的代码,并从接收线程设置值。然后其他线程可以以线程安全的方式在闲暇时读取该值。
does JDK 7 Fork really dramatically increases performance for java concurrent api?
不,它只是一个新的 API,可以让一些事情变得更容易。它不是为了让事情变得更快。
关于java - 线程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242204/