Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поток и sleep? / 25 сообщений из 37, страница 1 из 2
21.02.2006, 02:02
    #33557203
Поток и sleep?
Пускаю поток. В цикле делаю sleep(randomrange(1,10)).
Поток будет независимо от таймера идти дальше или будет ожидать?
Если он йдет независимо мне на время sleep поток остановить а потом возобновить?
...
Рейтинг: 0 / 0
21.02.2006, 03:44
    #33557217
Гость77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
API WaitForSingleObject
...
Рейтинг: 0 / 0
21.02.2006, 10:00
    #33557487
Andrejs Sibircevs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
Остановить - Suspend.
Запустить - Resume.
Help по TThread
...
Рейтинг: 0 / 0
21.02.2006, 10:58
    #33557665
Ярослав Татаренко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
Артем ЛебедевПускаю поток. В цикле делаю sleep(randomrange(1,10)).
Поток будет независимо от таймера идти дальше или будет ожидать?
Если он йдет независимо мне на время sleep поток остановить а потом возобновить?
Уважаемый господин Лебедев, постарайтесь грамотно описать на русском языке свой вопрос (или проблему). То, что написали Вы - я бы охарактеризовал как набор слов, слабо связанных по смыслу и содержанию.
...
Рейтинг: 0 / 0
21.02.2006, 11:54
    #33557868
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
тебе пауза нужна в потоке или его полная остановка
...
Рейтинг: 0 / 0
21.02.2006, 11:56
    #33557870
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
и желательно код того цикла и в каком потоке цикл?
...
Рейтинг: 0 / 0
21.02.2006, 21:05
    #33559412
Поток и sleep?
palyи желательно код того цикла и в каком потоке цикл?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  i:= 0 ;
   while  i<= FString_List.Count- 1   do 
   begin 
    r:= FString_List.Strings;
    analysis(r, 1 );
     [i]//=========== Если таймер true значит запускаем === 
     if  F_TIMER  then 
     begin 
      t:=  1000 *random_(F_START, F_STOP);
      Sleep(t);
     end ;

    F_Percent_Done:= progress_(i,FString_List.Count- 1 );

    Synchronize(display_percent_done);
    inc(i)
   End ;

Вот код.
...
Рейтинг: 0 / 0
21.02.2006, 21:10
    #33559416
Поток и sleep?
Ярослав Татаренко Артем ЛебедевПускаю поток. В цикле делаю sleep(randomrange(1,10)).
Поток будет независимо от таймера идти дальше или будет ожидать?
Если он йдет независимо мне на время sleep поток остановить а потом возобновить?
Уважаемый господин Лебедев, постарайтесь грамотно описать на русском языке свой вопрос (или проблему). То, что написали Вы - я бы охарактеризовал как набор слов, слабо связанных по смыслу и содержанию.
А что непонятного. Запускаю поток. Выполняю процедуру в потоке, где мне необходимо приостанавливать поток, а через некоторое время (random) снова возобновлять.
...
Рейтинг: 0 / 0
21.02.2006, 21:11
    #33559417
Поток и sleep?
И вопрос: Это грамотно sleep использовать в этом случае?
...
Рейтинг: 0 / 0
21.02.2006, 21:27
    #33559435
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
Привет !

Не вдаваясь, в специфику задачи.

Вызывающий Win32 API процедуру Sleep поток, с момента вызова на указанное время будет исключен планировщиком задач из исполнения. Если потоку необходимо сделать паузу, то это правильный вызов. Если же необходимо еще и отреагировать на событие, то надо смотреть в сторону WaitForXXXX процедур.

Удачи,
Дмитрий
...
Рейтинг: 0 / 0
21.02.2006, 21:37
    #33559447
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
Dmitry ArefievПривет !

Не вдаваясь, в специфику задачи.

Вызывающий Win32 API процедуру Sleep поток, с момента вызова на указанное время будет исключен планировщиком задач из исполнения. Если потоку необходимо сделать паузу, то это правильный вызов. Если же необходимо еще и отреагировать на событие, то надо смотреть в сторону WaitForXXXX процедур.

Удачи,
Дмитрий
в интервале от 0 до 9 милисекунд нет смысла реагировать на события
...
Рейтинг: 0 / 0
21.02.2006, 21:44
    #33559456
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
думаю что использовать слип в этом случае вполне нормально сам так делал
...
Рейтинг: 0 / 0
21.02.2006, 21:46
    #33559460
zubbitto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
palyдумаю что использовать слип в этом случае вполне нормально сам так делал
беда только в том, что окошки не ОСРВ
...
Рейтинг: 0 / 0
21.02.2006, 21:50
    #33559462
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
хотя если интервал в sleep довольно большой то лучше это сделать в цикле с Application.ProcessMessage и sleep(маленькие интервалы)
...
Рейтинг: 0 / 0
21.02.2006, 21:52
    #33559466
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
zubbitto palyдумаю что использовать слип в этом случае вполне нормально сам так делал
беда только в том, что окошки не ОСРВ
не VCL поток
...
Рейтинг: 0 / 0
21.02.2006, 21:54
    #33559473
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
ОСРВ? это что значит?
...
Рейтинг: 0 / 0
21.02.2006, 22:00
    #33559477
zubbitto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
palyОСРВ? это что значит? операционная система реального времени, с гарантированным временем реакции на любое прерывание
...
Рейтинг: 0 / 0
21.02.2006, 22:02
    #33559481
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
спасибо понял
...
Рейтинг: 0 / 0
21.02.2006, 22:08
    #33559490
Поток и sleep?
palyхотя если интервал в sleep довольно большой то лучше это сделать в цикле с Application.ProcessMessage и sleep(маленькие интервалы)

Интервалы от 1 до 120 секунд. Разбить на несколько и в цикле с Application.ProcessMessage?
...
Рейтинг: 0 / 0
21.02.2006, 22:16
    #33559498
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
если нужно чтобы твой поток реагировал ра сообщения в этом интервали времени то да тока не знаю как ты будешь разбивать случайный промежуток времени на части
если ты хочешь его просто преостановить suspend то думаю смысла нет
...
Рейтинг: 0 / 0
21.02.2006, 22:19
    #33559501
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
хотя разбить тоже просто
...
Рейтинг: 0 / 0
21.02.2006, 22:30
    #33559520
Lebedev_artem
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
palyхотя разбить тоже просто
Т.е. мой алгоритм вполне можно оставить без изменений?
...
Рейтинг: 0 / 0
21.02.2006, 22:33
    #33559524
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
я же говорю если интервал короткий то нет смысла, если довольно большой и нужно в это время реагировать на события из вне например проверять свойство terminated то на мой взгляд лучше цикл
...
Рейтинг: 0 / 0
21.02.2006, 22:35
    #33559526
paly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
интервал более 10 секунд я думаю лучше делить так как пользователь может захотеть выйти из проги
...
Рейтинг: 0 / 0
21.02.2006, 23:00
    #33559550
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поток и sleep?
palyнапример проверять свойство terminated то на мой взгляд лучше цикл
А может быть "сказать" потоку, что у него Terminated=True, при помощи установки события в активное состояние ? Фриды всего мира, делитесь вашими квантами с другими :)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поток и sleep? / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]