|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.08.2012, 15:28 | #1 |
Форумчанин
Регистрация: 08.06.2011
Сообщений: 693
|
Самоприостановка потока на n милисекунд
Понадобилось мне время от времени очень часто (несколько раз в секунду приостанавливать поток на немножко милисекунд). И тут проблема, при таком коде:
Код:
Как сделать, чтобы приостанавливался только поток? |
04.08.2012, 15:44 | #2 |
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
Точно не скажу, но вроде никак (в том виде как вы хотите). Если только в winAPI чего-нить полезное есть. Сам поток усыпить себя, в принципе, сможет, только вот самому проснуться у него не получится (ибо крепко спит)). Надо, чтобы его кто-то другой разбудил.
Как вариант можно занять его чем-нибудь. Код:
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. |
04.08.2012, 16:07 | #3 | ||
Форумчанин
Регистрация: 01.06.2009
Сообщений: 108
|
Цитата:
Цитата:
|
||
04.08.2012, 16:31 | #4 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Код:
|
04.08.2012, 16:39 | #5 | |
Форумчанин
Регистрация: 08.06.2011
Сообщений: 693
|
Цитата:
|
|
04.08.2012, 17:12 | #6 |
Форумчанин
Регистрация: 01.06.2009
Сообщений: 108
|
Можно присоединить минимальный проект, иллюстрирующий проблему? Проект в аттаче показывает, что замораживается только поток, можешь показать проект, иллюстрирующий обратное?
|
04.08.2012, 17:14 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
ТС, не в синхронизе часом слипите поток? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
04.08.2012, 17:29 | #8 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
frmMain - может многократное обращение к форме из потока приводит к залипанию (кстати, это не кошерно)
goto mytimer можно на continue заменить |
04.08.2012, 18:02 | #9 | ||
php / delphi
Форумчанин
Регистрация: 10.06.2007
Сообщений: 175
|
Цитата:
Цитата:
ps: отрекаюсь от предыдущего своего поста. Поленился прочитать про sleep() ))
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра. Последний раз редактировалось InternetStranger; 04.08.2012 в 18:04. |
||
04.08.2012, 18:30 | #10 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Я и написал, что так делать плохо .
Тоже думаю, что синхронизации нет. Я имел в виду, что возможно frmMain.Eat что-то долгое с формой делает (даже если синхронизировать, то залипание может не исчезнуть). Оттуда можно всё по максимуму в поток запихнуть (циклы, вычисления разные и т.п.), а синхронизировать только непосредственное обращение к форме/компонентам. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Должно быть 3 потока. А диспетчер задач показывает, что потока создано 2 | BEL9ILLI | Общие вопросы Delphi | 3 | 06.12.2011 20:26 |
Оптимизация потока | Ghost of Night | Общие вопросы Delphi | 9 | 14.07.2011 03:18 |
Как узнать номер потока из самого потока? | GaMeSTeR | Помощь студентам | 0 | 03.12.2010 09:50 |
Номер потока | KoBRaAndrey | Общие вопросы Delphi | 1 | 01.06.2010 02:27 |
Уничтожение потока | SNUPY | Общие вопросы Delphi | 2 | 11.02.2009 22:47 |