|
|
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть сокет-сервер, пользователи шлют различные команды серверу, обработку каждой команды я запускаю в отдельном потоке: Код: java 1. 2. 3. Но некоторые действия мне нужно выполнять последовательно, чтобы не нарушалась очередность команд, например, если пользователи находятся в одном бою. Можно каким-то образом это реализовать с помощью ExecutorService, то есть, id боя привязать к конкретному потоку и в нем выполнять команды от юзеров, которые в этом бою в данный момент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 12:34:00 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
Хм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять? Так правильно будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 12:53:21 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
На каждый бой свой Executors.newFixedThreadPool(1) - ну а какие команды туда слать - это уже ручками разрулите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 12:55:25 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
:)Сами догадались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 12:55:53 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 12:56:17 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
mreХм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять? Так правильно будет?Тогда уж лучше старый добрый Thread. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 19:46:35 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
rfqmreХм. или мне для каждого экземпляра Battle создавать Executors.newSingleThreadExecutor и в нем выполнять? Так правильно будет?Тогда уж лучше старый добрый Thread. Чем лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2012, 19:49:37 |
|
||
|
Вопрос по ExecutorService
|
|||
|---|---|---|---|
|
#18+
забыл никrfqпропущено... Тогда уж лучше старый добрый Thread. Чем лучше? Да в общем-то ничем - я просто сначала подумал что вы хотите создавать executor на каждое действие, а Thread все же проще. Но еще более подходящая модель - это модель акторов (каждая битва - актор). Актор, вообще говоря, не требует собственного потока или executor'a - множество акторов может выполняться на одном многопоточном executor'е. Существует много акторных библиотек. Самой простой в использовании я считаю df4j собственной разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2012, 12:47:24 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37944608&tid=2131011]: |
0ms |
get settings: |
10ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
54ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 319ms |
| total: | 519ms |

| 0 / 0 |
