所以基本上我有一个主线程,它将接受一个套接字并创建一个 DataInputStream 对象来接收数据,然后将这个 Input 对象传递给不同的子线程,它们将使用它来接收数据并执行不同的任务。但那是行不通的,因为两个线程都使用同一个对象来监听,所以当用户发送一些东西时,我不知道谁会读它.. 到目前为止我的想法:
1- 创建某种组织者来接收传入的请求并将它们重定向到负责的线程(我不太确定该怎么做)。
2- 当一个线程期待一系列传入请求(基于时间)时,它必须让另一个线程 hibernate ,以便它可以接管输入流(我不确定是否可以完成)。
还有其他想法或如何实现其中任何一个吗?谢谢!
(在最坏的情况下,我必须将两个线程合二为一..)
最佳答案
我建议你使用ReadWriteLock
,深入了解它的api和例子。
对于这种连接线程的情况,您可以使用 CiclycBarier
希望对你有帮助
关于JAVA:使用同一个套接字在多个线程上管理DataInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15541786/