如何在NIO服务器中确定客户端的优先级?

时间:2018-07-04 18:37:28

标签: client-server nio

我正在使用NIO选择器创建客户端服务器程序。

该程序是一次将多个客户端连接到作为计算器的服务器,现在所需的更新是赋予高级客户更高的优先级(我给了一个假条件,因为每个客户端的端口号都可以被整除5)。

1。是否可以将它们视为普通线程并立即完成其执行(例如thread.join())?

2。如果我将阻止配置更改为true并再试一次

3。为这些客户端使用单独的选择器,然后首先完成其执行?

如果没有这些,请帮助我解决问题。

1 个答案:

答案 0 :(得分:0)

我用于此问题的方法是: 我创建了2个选择器;一个为主要客户,另一个为剩余客户,并根据使他们成为主要客户的条件相应地注册了客户。只有优先级更高的一个线程可以访问主选择器,其余线程可以访问另一个选择器。 这种方法对我有用,尽管我仍然不确定这是否是最佳方法。