как удалять элемент в QStringList в многопоточной программе? |
Здравствуйте, гость ( Вход | Регистрация )
как удалять элемент в QStringList в многопоточной программе? |
eldar85 |
26.8.2010, 17:17
Сообщение
#1
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
Проблема такая, каждый поток должен получать разные значения из QStringList list;
QStringList list пренадлежит классу Thread и хотелось бы чтобы к примеру в list было 105 элементов и при запущенных 10 потоках каждый поток брал один элемент себе, сразу удаляя его из list чтобы остальные потоки не могли из него взять это значение. Как только он обработал это значение берет следующее которое ему достанется, а если не осталось то завершает работу и так все потоки. но у меня получается что каждый поток берет к себе одно и тоже значение и только потом это значение удаляется... |
|
|
Алексей1153 |
26.8.2010, 17:22
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
eldar85, пусть QStringList list будет статическим членом класса, а также ещё добавь статический мутекс-член класса (венее, лучше локер, а не мутекс). Сделай статическую же функцию в классе, которая принимает параметры-флаги о действии (добавить, удалить, ...) а в начале этой функции защёлкивай локер. Будет красиво
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 20:38 |