powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ExecutorService
9 сообщений из 9, страница 1 из 1
Вопрос по ExecutorService
    #37942641
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Всем привет.

Есть сокет-сервер, пользователи шлют различные команды серверу, обработку каждой команды я запускаю в отдельном потоке:
Код: java
1.
2.
3.
_executor = Executors.newFixedThreadPool(20);
.....
_executor.execute(new Action(type, actionValue, vars, socket));


Но некоторые действия мне нужно выполнять последовательно, чтобы не нарушалась очередность команд, например, если пользователи находятся в одном бою.
Можно каким-то образом это реализовать с помощью ExecutorService, то есть, id боя привязать к конкретному потоку и в нем выполнять команды от юзеров, которые в этом бою в данный момент?
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37942696
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Хм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять?
Так правильно будет?
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37942704
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каждый бой свой Executors.newFixedThreadPool(1) - ну а какие команды туда слать - это уже ручками разрулите.
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37942705
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)Сами догадались
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37942707
mre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mre
Гость
Спасибо!
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37943440
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mreХм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять?
Так правильно будет?Тогда уж лучше старый добрый Thread.
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37943443
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rfqmreХм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять?
Так правильно будет?Тогда уж лучше старый добрый Thread.
Чем лучше?
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37944440
rfq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никrfqпропущено...
Тогда уж лучше старый добрый Thread.
Чем лучше?
Да в общем-то ничем - я просто сначала подумал что вы хотите создавать executor на каждое действие, а Thread все же проще.
Но еще более подходящая модель - это модель акторов (каждая битва - актор). Актор, вообще говоря, не требует собственного потока или executor'a - множество акторов может выполняться на одном многопоточном executor'е. Существует много акторных библиотек. Самой простой в использовании я считаю df4j собственной разработки.
...
Рейтинг: 0 / 0
Вопрос по ExecutorService
    #37944608
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе да, акторы тут в тему.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по ExecutorService
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]