Корректное заполнение вектора в доп. потоке, как правильно это реализовать? |
Здравствуйте, гость ( Вход | Регистрация )
Корректное заполнение вектора в доп. потоке, как правильно это реализовать? |
AD |
13.2.2009, 15:55
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Собственно вопрос в теме. Вот код, реализующий это.
Посоветуйте, пожалуйста, где возможны в этом коде ошибки? Когда смотрю в дебаггере в доп. потоке, то вижу, что вектор заполняется, в главном потоке размер вектора вижу уже нулевым. Да. вектор QVector<> - потокозащищенный. А так практически аналог - вектора STL. Буду благодарен за любые дельные советы. |
|
|
kuler |
13.2.2009, 16:18
Сообщение
#2
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
здесь как я понял нет защиты (мьютекса) - так надо?
void VerticalGraphics::getVector(const QVector<PARAMVALUE*>& v) { for(QVector<PARAMVALUE*>::const_iterator iter=v.begin(); iter!=v.end(); ++iter) param_vec.append(*iter); } плюс 2 рекомендации - поля класса как то обозначать, кпримеру префикс f или m_; не писать более одного оператора в строке |
|
|
Текстовая версия | Сейчас: 28.12.2024, 1:59 |