![]() |
|
|
![]()
|
|
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: 3 Всего: 5 |
Интерестно, в данном проекте уже вроде как-то прокатило и с ликом, но в жизни пригодиться это точно. Тоесть если вам не сложно, то я буду очень признателен -------------------- Never again... |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: 3 Всего: 5 |
Ну так где там примеры? Мне ведь интерестно!
-------------------- Never again... |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Секунду Nuzur,ща горю...Курсовая...
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Nuzur |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 4.7.2004 Репутация: 3 Всего: 5 |
Последний раз поднимаю.
-------------------- Never again... |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Nuzur
Завтра,гадом буду -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 2 Всего: 47 |
А можно послать MFC и утворить:
|
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
bel_nikita,не понял.Это насчет переменной?
Добавлено @ 23:44 А ,все понятно...Но вижу только 2 способа.А че МФС посылать? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 2 Всего: 47 |
Coocky
А потому, что я его не знаю З.Ы.: А вообще, треды функциями, типа WaitForSingleObject ..., останавливают |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Да,и это считается нормальным и правильным!Но есть и другие методы-иногда похабные,но простые.Короче завтра напишу-если че прочтешь:-) -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Итак,как обещал
1 Способ-глобальные переменные.Не лучший способ-небезопасен. Итак заводим перемную,КОТОРУЮ добавлем вверху,сразу после endif; Обьявляем ее так votalite bool Stop;(votalite-это означает,что вне потока!) Присваиваем ей значение Stop=true; И теперь в функции потока (MyPotok() ;) пишем
//Когда нужно остановить-пишем Stop=false; //Все 2 Способ тебе описали -это с помощью сообщения.Повторятся не буду. 3 Способ.CEvent Создаем глобальные обьекты CEvent Start и CEvent Stop ; Добавляем #include "afxmt.h" Для установки в состояние сигнализации делаем Start.SetEvent(); Stop.SetEvent();(там где раньше true и false) и теперь функция
Все понятно или обьяснить.Если не поймешь что к чему,пиши -обьясню на пальцах Это сообщение отредактировал(а) Coocky - 12.3.2005, 23:48 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||
|
|||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Да, добавлю.Последний способ-єто сигнализация обьекта CEvent.
Когда Start переведется в состоянии сигнализации,функция начнет работать. Поток входит в цикл while,где віполняется опрос обьекта собітия Stop.Цикл продолжается до тех пор,потка обьект Stop не будет переведен в состояние сигнализации,и выйдем. Извини,че не так с синтаксисом-пишу с головы и в плохом состоянии Если че не так исправлю.Когда протрезвею Удачи.Побежал Это сообщение отредактировал(а) Coocky - 12.3.2005, 23:48 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: нет Всего: 7 |
Coocky,
Идея здесь уже была написана, просто повторю. Поток - это цикл (в общем случае), поэтому, если не нужно использовать CWinThread, а его им лучше пользоваться только когда потоку необходимо передавать сообщения типа SenMessage (чем лично я никогда не пользовался - не было нужды), все делают так
Объявляем глобальную, по отношению к функции потока, переменную и зацикливаем поток до тех пор, пока кто-то не изменит её значение (остановит поток). Так как поток в основном ждёт чего-то (WaitFor....Object), то такой цикл не будет занимать много процессорного времени. Функцию Sleep лучше не использовать, потому что из неё невозможно корректно выйти, без TerminateThread. Это сообщение отредактировал(а) Олег М - 14.3.2005, 22:11 |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Олег М
Я не понял твоей иронии.Я человеку показываю все доступные методы,а его выбор,чем пользоваться
Зачем-ЧТО? Nuzur И еще.Во всех приведеных примерах ты посылал ПОТОКУ команду из главной проги,когда остановиться. Но есть ситуация,когда ПОТОК должен сказать проге,что мне пора бы остановиться.Для этого регистрируешь свое сообщение,и когда поток должен сказать-все хватит,отправляешь из него это сообщение.А в обработчике своего сообщения ставишь обьекты или переменные в нужное состояние.И все происходит как выше... Это сообщение отредактировал(а) Coocky - 15.3.2005, 14:06 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: нет Всего: 7 |
Зачем использовать событие в качестве булевской переменной |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Олег М
А что в этом плохого? Нормальный подход..А чем он хуже твоего? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |