【发布时间】:2012-08-15 16:15:27
【问题描述】:
我想通过使用套接字为读写方法创建不同的线程。 我想知道我应该使用不同的套接字还是相同的套接字来共享两个线程?
【问题讨论】:
-
我所做的是打开 1 个套接字。只有 1 个线程监听,我还添加了一个同步的“发送”方法,任何线程都可以使用它
标签: java thread-safety socket.io
我想通过使用套接字为读写方法创建不同的线程。 我想知道我应该使用不同的套接字还是相同的套接字来共享两个线程?
【问题讨论】:
标签: java thread-safety socket.io
如果你在同一个设备/对象上读写,我会使用同一个线程。这样一来,当您还没有写入内容时,它就不会试图读取它。如果您不小心,执行多个线程可能会导致大量错误,例如空值。
【讨论】:
您可以使用同一个套接字进行读写。当然,两个端点之一必须打开一个服务器套接字。然后你可以让 1 个线程阻塞等待输入数据,而另一个线程可以在需要时输出数据
【讨论】:
1. 创建一个套接字对象。
2. 使用任意数量的线程来访问此对象,但请注意确保
读写操作 Thread-Safe.
3.尝试使用java.util.nio包中的ServerChannel和ServerSocketChannel,这是异步。
【讨论】: