![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
AbdulBcex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 6.11.2009 Репутация: нет Всего: 1 |
Здраствуйте!
Тут такое дело. Есть код.
Как (надеюсь ![]() |
|||
|
||||
x8m6 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 11.12.2008 Репутация: нет Всего: нет |
А почему бы вам не сделать так, чтобы каждый поток обрабатывал свою очередь? 2-очереди -> 2 потока. Ну или можно сделать пул потоков на каждую очередь.
|
|||
|
||||
AbdulBcex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 6.11.2009 Репутация: нет Всего: 1 |
Ну, во-первых, не позволяет особо уже написанный код. Во-вторых, таких объектов, с потоками может в теории быть очень много, что, думается, несомненно отразится на общей производительности. Сейчас их 3, а может быть пара десятков - то есть в районе 40 потоков. К тому же это не единственные потоки в программе
![]() |
|||
|
||||
AbdulBcex |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 6.11.2009 Репутация: нет Всего: 1 |
Так и сделал в итоге.
Задачи - это те, что в первом моем посте после комментариев (подождал, обработал), только разбиты соответственно на две Runnable для scheduler. Основное изменение - inputQueue(2).wait(0) теперь (побольшей части) имеют в качестве временного параметра 0 - то есть ждут до отклика. Оказалось, что так лучше в плане производительности, чем гонять их постоянно в цикле. Фишка в том, что у объекта Operator2 все же может возникнуть такая ситуация, когда inputQueueProcessor должен будет ждать с параметром 0, а inputQueueProcessor2 не будет тратить время, подождет 1ms например и пойдет дальше. Или наоборот, или обе сразу. На практике выходит, что второй поток в итоге будет ждать, пока закончит первый и вся "параллельность" на смарку. Подскажите, пожалуйста, что тут можно сделать? Как сделать так, что бы они действительно независимо друг от друга работали? Не соображу никак... ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |