我正在使用NIO选择器创建客户端服务器程序。
该程序是一次将多个客户端连接到作为计算器的服务器,现在所需的更新是赋予高级客户更高的优先级(我给了一个假条件,因为每个客户端的端口号都可以被整除5)。
1。是否可以将它们视为普通线程并立即完成其执行(例如thread.join()
)?
2。如果我将阻止配置更改为true并再试一次
3。为这些客户端使用单独的选择器,然后首先完成其执行?
如果没有这些,请帮助我解决问题。
答案 0 :(得分:0)
我用于此问题的方法是: 我创建了2个选择器;一个为主要客户,另一个为剩余客户,并根据使他们成为主要客户的条件相应地注册了客户。只有优先级更高的一个线程可以访问主选择器,其余线程可以访问另一个选择器。 这种方法对我有用,尽管我仍然不确定这是否是最佳方法。