ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

23.04.2010, 19:34
|
|
Познающий
Регистрация: 23.02.2010
Сообщений: 49
Провел на форуме: 447878
Репутация:
16
|
|
Запаузить поток Delphi
Кто-как делаетт паузы в потоке?
Слиип и вейтфоробджект вешают программу(
Если использовать суспенд прямо в потоке, то возобновлять поток можно только вне потока.
К примеру если мне нужно запаузить поток на 20 секунд.
Я делал суперизвратно, вот таким способом.
Паузил поток суспендом и запускал вне потока таймер, по истечению которого поток опять запускался. Таким способом появляется максимум траблов и глюков.
Есть какие-нибудь адекватные способы запаузить поток на определенное кол-во времени, не вещая программу?
|
|
|

23.04.2010, 19:40
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
пускать sleep если установлен флаг?
|
|
|

23.04.2010, 19:41
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Самый безглючный вариант - создать глобальную переменную булева типа, а в потоке регулярно проверять её состояние:
while Pause do sleep(1);
|
|
|

23.04.2010, 19:44
|
|
Познающий
Регистрация: 23.02.2010
Сообщений: 49
Провел на форуме: 447878
Репутация:
16
|
|
пускать sleep если установлен флаг?
слип вешает программу!
Самый безглючный вариант - создать глобальную переменную булева типа, а в потоке регулярно проверять её состояние:
while Pause do sleep(1);
Это понятно, но слип вешает программу))
А мне нужно чтобы к примеру 1 из 100 потоков остановился а остальные 99 продолжали работать. А слип повесит всю 100 потоков.
|
|
|

23.04.2010, 19:45
|
|
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме: 3629857
Репутация:
504
|
|
а ты не пробовал слип в потоке запускать?
|
|
|

23.04.2010, 19:47
|
|
Познающий
Регистрация: 23.02.2010
Сообщений: 49
Провел на форуме: 447878
Репутация:
16
|
|
а ты не пробовал слип в потоке запускать?
Ты сам то пробовал?)))))))) Вешет слип всю программу.Вместе со всеми потоками, пробовал не раз.
|
|
|

23.04.2010, 19:48
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Сообщение от gisTy
а ты не пробовал слип в потоке запускать?
+1. ТС в потоке слип не повесит программу, проверено
А чтобы можно было только один поток запаузить добавляй в класс потока свойство Pause, тогда у каждого потока свой флаг паузы
Ты сам то пробовал?)))))))) Вешет слип всю программу.Вместе со всеми потоками, пробовал не раз.
бред, ты что-то неправильно делаешь. Я гарантирую это!!11
Sleep - апишная функция, для текущего потока
Последний раз редактировалось GhostOnline; 23.04.2010 в 19:50..
|
|
|

23.04.2010, 19:49
|
|
Познающий
Регистрация: 23.02.2010
Сообщений: 49
Провел на форуме: 447878
Репутация:
16
|
|
Щас скину исходник и ехе)))))))
|
|
|

23.04.2010, 19:59
|
|
Познающий
Регистрация: 23.02.2010
Сообщений: 49
Провел на форуме: 447878
Репутация:
16
|
|
Все разобрался. если слип использовать в функции которая используется в синхронайз, то вешается все полностью. Если использовать слип в execute то вешается только один поток))))) Все верно)Сенкс)
|
|
|

23.04.2010, 20:56
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Синхронайзы - зло, слишком не увлекайся ими 
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
[C#] FAQ Многопточные приложения
|
Algol |
С/С++, C#, Delphi, .NET, Asm |
13 |
13.04.2010 16:08 |
|
Delphi - язык или среда?
|
Seravin |
Болталка |
12 |
28.03.2010 01:46 |
|
Литература Delphi
|
Sams |
С/С++, C#, Delphi, .NET, Asm |
2 |
19.03.2010 19:46 |
|
Books
|
PSalm69 |
Избранное |
248 |
27.10.2009 04:52 |
|
Virus.Win32.Induc.a или "Снова записки новичка"
|
_=(mac)=_ |
Защита ОС: вирусы, антивирусы, файрволы. |
5 |
24.08.2009 23:34 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|