![]() |
|
![]() ![]() ![]() |
|
xbarmaglot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 28.8.2012 Репутация: нет Всего: нет |
нужна потокобезопасная очередь с ожиданием и отказами.
очередь должна быть с ограничением по размеру. видел реализацию на QReadWriteLock и семафоре. А стандартное есть что-нибудь? еще бы хотелось прерывать ожидание по требованию |
|||
|
||||
Sajtran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.10.2008 Где: Мегион Репутация: нет Всего: 2 |
каждый лепит как может, подходов много
в вашем случае очередь фиксированного размера - циклический буфер + нужно делать ожидание освобождения места в очереди ( +Event) потокобезопасность - обычный Lock будут проблемы со скоростью - будете думать (война план покажет) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Sajtran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.10.2008 Где: Мегион Репутация: нет Всего: 2 |
каждый лепит как может, подходов много
в вашем случае очередь фиксированного размера - циклический буфер + нужно делать ожидание освобождения места в очереди ( +Event) потокобезопасность - обычный Lock будут проблемы со скоростью - будете думать (война план покажет) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Sajtran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.10.2008 Где: Мегион Репутация: нет Всего: 2 |
каждый лепит как может, подходов много
в вашем случае очередь фиксированного размера - циклический буфер + нужно делать ожидание освобождения места в очереди ( +Event) потокобезопасность - обычный Lock будут проблемы со скоростью - будете думать (война план покажет) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Sajtran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.10.2008 Где: Мегион Репутация: нет Всего: 2 |
каждый лепит как может, подходов много
в вашем случае очередь фиксированного размера - циклический буфер + нужно делать ожидание освобождения места в очереди ( +Event) потокобезопасность - обычный Lock будут проблемы со скоростью - будете думать (война план покажет) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Sajtran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.10.2008 Где: Мегион Репутация: нет Всего: 2 |
каждый лепит как может, подходов много
в вашем случае очередь фиксированного размера - циклический буфер + нужно делать ожидание освобождения места в очереди ( +Event) потокобезопасность - обычный Lock будут проблемы со скоростью - будете думать (война план покажет) Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
_GRIN_ |
|
|||
![]() одинокий падаван ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 18.11.2007 Где: Калуга Репутация: 6 Всего: 7 |
Если можно в угоду быстродействию пожертвовать памятью, то можно держать две очереди. Одна доступна извне, вторая изнутри потока. Переключение между ними через atomic int (QAtomicInt), после переключения не забыть синхронизовать их. Иначе обынчый QMutex (lock/read-write/unlock).
-------------------- Дорогу осилит идущий |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |