crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QThread
gpepsi
  опции профиля:
сообщение 5.8.2011, 13:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 31.3.2010
Пользователь №: 1582

Спасибо сказали: 0 раз(а)




Репутация:   0  


потоковая функция крутит постоянный цикл опрашивая флаг завершения.
функция ожидания потока (wait) может ждать его бесконечно.

сбросить флаг перед ожидание потока нет возможности, т.к. я не нашел ни одну виртуальную функцию, которая бы вызывалась пепосредственно перед wait.

как это можно реализовать ? или нужно писать обертку ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
gpepsi
  опции профиля:
сообщение 5.8.2011, 19:58
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 31.3.2010
Пользователь №: 1582

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(PAFOS @ 5.8.2011, 13:32) *
Если я правильно понял, то можно сделать так:


while( !thread->wait(100) ){
тут можно сбрасывать флаг, когда нужно
}


немного не так. поток крутится
while(flag)
{
}


а сбросить флаг нет возможности. поэтому wait() будет блокирующий до бесконечности
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 10:49