Название: Межпотоковое хранилище на основе QHash или QMap Отправлено: TaIRou от Октябрь 29, 2012, 19:33 Ребят, нужно сделать межпотоковое хранилище данных на основе какого-нибудь контейнера (потоки могут читать данные, но они могут периодически обновляться), таким образом, чтобы данные были доступны и из gui-потока. Какие способы организации такого хранилища наиболее разумны в Qt?
Название: Re: Межпотоковое хранилище на основе QHash или QMap Отправлено: Igors от Октябрь 29, 2012, 20:20 По-простому - контейнер (подходящий по задаче) + QReadWriteLock
Название: Re: Межпотоковое хранилище на основе QHash или QMap Отправлено: TaIRou от Октябрь 30, 2012, 20:01 а какие +/- у QThreadStorage, примеров с его использованием в examples я не нашел. А из того, что написано в help не очень понятно нужно ли к нему дополнительно лепить mutex'ы?
вот код из справки, вроде несложная обертка Код: QThreadStorage<QCache<QString, SomeClass> *> caches; Название: Re: Межпотоковое хранилище на основе QHash или QMap Отправлено: Igors от Октябрь 30, 2012, 20:13 а какие +/- у QThreadStorage, примеров с его использованием в examples я не нашел. А из того, что написано в help не очень понятно нужно ли к нему дополнительно лепить mutex'ы? QThreadStorage - это "наоборот" того что нужно "ребяту" :) Он хранит "личные" данные для каждой нитки, т.е. сохраненные в одной недоступны для другойвот код из справки, вроде несложная обертка Название: Re: Межпотоковое хранилище на основе QHash или QMap Отправлено: TaIRou от Октябрь 30, 2012, 20:22 Что-то как-то больно мудрено, а когда такое может пригодится то вообще?)
Как-то сразу в голову и не приходит... правда это к делу отношения не имеет, но все-таки Название: Re: Межпотоковое хранилище на основе QHash или QMap Отправлено: Igors от Октябрь 30, 2012, 20:29 Что-то как-то больно мудрено, а когда такое может пригодится то вообще?) Когда QThreadStorage (конкректно этот класс) может пригодиться не скажу - не пользовал. А вообще создание "своих" данных для каждой нитки - основной метод распараллеливания, мутексы то так, поляпать когда думать неохота или нечемКак-то сразу в голову и не приходит... правда это к делу отношения не имеет, но все-таки |