crossplatform.ru

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

> QThread
gpepsi
  опции профиля:
сообщение 4.10.2011, 20:37
Сообщение #1


Студент
*

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

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




Репутация:   0  


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


Студент
*

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

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




Репутация:   0  


Цитата(ViGOur @ 5.10.2011, 11:00) *
Или ввести какую-нибудь переменную, например bool m_bThreadStop = false;, которую периодически проверять.


у меня куча потоков. для каждой заводить переменную ?

Цитата(ViGOur @ 5.10.2011, 11:00) *
Послать ей сигнал.


а как внутри определить ?

ну если внутри
while(true)
{
}

никак не завершиться. нужно ожидать на чем-то. Странно что этого не предусмотрели...

Сообщение отредактировал gpepsi - 5.10.2011, 12:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 6.10.2011, 9:01
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(gpepsi @ 5.10.2011, 13:34) *
у меня куча потоков. для каждой заводить переменную ?

Зачем для каждого? Достаточно разок завести для базового, что-то вроде этого:

class MyThread : public QThread
{
     bool m_bExit;
public:
     void run();
};

void MyThread::run()
{
     // ...
     while( !m_bExit)
     {
        // ...
        ReadFile(...);
     }
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- gpepsi   QThread   4.10.2011, 20:37
- - ViGOur   Послать ей сигнал. Или ввести какую-нибудь перемен...   5.10.2011, 10:00
- - gpepsi   Цитата(ViGOur @ 5.10.2011, 11:00) Или вве...   5.10.2011, 12:34
|- - ViGOur   Цитата(gpepsi @ 5.10.2011, 13:34) у меня ...   6.10.2011, 9:01
- - silver47   Цитата(gpepsi @ 5.10.2011, 14:34) у меня ...   5.10.2011, 13:53
- - gpepsi   Цитата(silver47 @ 5.10.2011, 14:53) Чем н...   5.10.2011, 15:09
- - gpepsi   Цитата(silver47 @ 5.10.2011, 14:53) Чем н...   5.10.2011, 18:03
- - silver47   Имеется ввиду, что если у вас есть указатели на по...   6.10.2011, 5:17
- - gpepsi   Цитата(ViGOur @ 6.10.2011, 10:01) Зачем д...   6.10.2011, 13:35
- - ViGOur   Или выносить в другой поток или не использовать ци...   6.10.2011, 14:42
- - gpepsi   Цитата(ViGOur @ 6.10.2011, 15:42) Или вын...   6.10.2011, 15:05
- - ViGOur   А ты попробуй. Механизм сигналов и слотов асинхрон...   6.10.2011, 15:38
- - gpepsi   Цитата(ViGOur @ 6.10.2011, 16:38) А ты по...   6.10.2011, 17:08
- - ViGOur   Посмотри на: QCoreApplication::processEvents, он к...   6.10.2011, 17:18
- - silver47   Цитатаvoid Thread::run( void ) {  ...   6.10.2011, 17:40
- - gpepsi   Цитата(ViGOur @ 6.10.2011, 18:18) Посмотр...   6.10.2011, 18:45
- - silver47   Так всетаки зачем бесконечный цикл то? Мое мнение ...   6.10.2011, 19:12
- - ViGOur   processEvents не сбрасывает ничего, а просто дает ...   6.10.2011, 19:17
- - gpepsi   Цитата(ViGOur @ 6.10.2011, 20:17) А если ...   7.10.2011, 7:52
- - ViGOur   Цитатато есть самому контролировать выход ?Да, име...   7.10.2011, 8:34
- - gpepsi   ViGOur, а если я создаю поток только для вычитыван...   7.10.2011, 9:00
- - ViGOur   Чтобы было меньше вопросов, предлагаю тебе почитат...   7.10.2011, 9:10


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


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




RSS Текстовая версия Сейчас: 27.4.2024, 14:06