gpt4 book ai didi

java - 从一个线程写入套接字 channel 并从另一个线程选择

转载 作者:行者123 更新时间:2023-12-01 11:42:50 24 4
gpt4 key购买 nike

我可以从一个线程写入SocketChannel,而Selector#select()可能会选择相同的SocketChannel来进行IO操作其他线程?它是线程安全的吗?或者我是否必须将 ByteBuffer 委托(delegate)给其他线程(无限期地执行 Selector#select()),然后每次写入 SocketChannel Selector#select() 调用。

此外,SelectionKey#interestOps(int) 将兴趣操作设置为线程安全的吗?或者我是否必须将相同的任务委托(delegate)给其他线程(无限期地执行Selector#select())。

最佳答案

是的,一般来说可以。 select() 中被阻止的线程在被阻止时不会使用 ByteBuffer。如果它在其他地方这样做,当然您需要同步或采取其他措施。

关于java - 从一个线程写入套接字 channel 并从另一个线程选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com