Потоконезависимые очереди, реализация |
Здравствуйте, гость ( Вход | Регистрация )
Потоконезависимые очереди, реализация |
AD |
7.11.2011, 10:28
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Есть ли в библиотеках Qt, boost реализация потоконезависимых очередей? Можно ли применить QList? Если нет, есть ли в инете подобное? Поискал сам, пока ничего путного не видел. Может быть кто-то уже видел что-то подобное?
|
|
|
BRE |
9.11.2011, 19:05
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Чаще всего встречал перевод "условные переменные".
|
|
|
AD |
10.11.2011, 10:19
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Ага. Ну тут еще вопросы.
Смысл программы следующий: в главном потоке мы заполняем очередь запросов, в дополнительном - происходят вычисления и результаты попадают в очередь результатов. Исходя из приведенного на прог.орг примера сделал функции проверки на пустоту и размер следующими:
Но это как-то не так. При проверке на пустоту цикл while не заканчивается. Как это поправить корректно? На сколько я понял из обсуждения на то форуме, цикл нужен, но тогда какой? |
|
|
AD |
10.11.2011, 14:22
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Из главного потока запустил дополнительный. В дополнительном у меня вечный цикл (forever) - памяти жрет 50%. Есть возможность, не отменяя цикла forever сделать так, чтобы память не жралась безмерно?
С потоками уже не раз работал, но еще ни разу не использовал forever в доп. потоке, потому такие вопросы и встают. Пока что делаю так (память жрет):
|
|
|
Текстовая версия | Сейчас: 27.11.2024, 2:05 |