Как расставить приоритеты ваших клиентов на сервере NIO? - PullRequest
0 голосов
/ 04 июля 2018

Я создаю программу клиент-сервер, используя селектор NIO.

Программа предназначена для одновременного подключения нескольких клиентов к серверу, который является калькулятором, теперь требуется обновление, чтобы уделять больше внимания премиум-клиентам (что я дал условному условию, поскольку каждый клиент с номером порта делится на 5).

1. Можно ли считать их нормальными потоками и немедленно завершить их выполнение (например, thread.join())?

2. Поможет ли мне изменить конфигурацию блокировки на true и попробовать еще раз

3. Использовать отдельный селектор для этих клиентов и сначала завершить их выполнение?

Если нет, пожалуйста, помогите мне с решением.

1 Ответ

0 голосов
/ 09 июля 2018

Подход, который я использовал для этого вопроса: Я создал 2 селектора; один для простого и один для остальных и зарегистрированных клиентов соответственно на основе условия, которое делает их основными. Только один поток с более высоким приоритетом может получить доступ к главному селектору, а остальные потоки - к другому селектору. Этот подход работал для меня, хотя я до сих пор не уверен, что это лучший метод.

...