Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Сколько раз можно вызывать SetEvent?   Найти похожие ветки 

 
Aleksandr ©   (2004-05-05 17:36) [0]

Эвент создается
CreateEvent(nil, True, False,PArr[i]), где PArr[i] - PChar, имя эвента. Затем он передается потоку, и поток резюмируется, на окончании своего Execute делая SetEvent данному хэндлу (поток, создавший событие, дожидается его установки). Но поток может быть резюмирован несколько раз, соответственно, он несколько раз будет устанавливать событие. А такое вообще можно?


 
Digitman ©   (2004-05-05 17:44) [1]


> А такое вообще можно?


почему нет ?


 
Aleksandr ©   (2004-05-05 18:46) [2]

Ну, мало ли, просто не знаю. Вдруг какие-то ограничения на то, сколько раз можно устанавливать события. Я, например, понятия не имею, что там за параметры переданы при создании события. Просто из сампла выдернул, а потом и задумался, а не приведет ли это к чему неприятному...


 
Digitman ©   (2004-05-05 18:55) [3]


> а не приведет ли это к чему неприятному


нет, не приведет, не волнуйся

главное - анализируй рез-т вызова SetEvent() - он тебе подскажет куда дальше ехать


 
Aleksandr ©   (2004-05-05 19:16) [4]

Да? Я даже и не думал, что там результат как-то анализировать надо...


 
Polevi ©   (2004-05-06 08:08) [5]

его всегда надо анализировать, если только в документации не указано что "ф-ия всегда возвращает 0" к примеру


 
Digitman ©   (2004-05-06 08:54) [6]


> Aleksandr ©   (05.05.04 19:16) [4]
> Да? Я даже и не думал, что там результат как-то анализировать
> надо...


здрасть ! а на что тогда функции существуют вообще ? ведь на то они и ф-ции, чтобы возвращать некий результат ..


 
han_malign ©   (2004-05-06 09:15) [7]

>на окончании своего Execute...
>... поток может быть резюмирован несколько раз
- может я чего не понимаю, но если поток завершился, то "резюмирование" не поможет

>анализируй рез-т вызова SetEvent()
- единственное на что можно напороться, так это на ERROR_INVALID_HANDLE, если объект("эвент") не создан или уже освобожден

З.Ы. А по поводу "окончании своего Execute" - есть TThread.WaitFor... Thread.Handle сам по себе является сигнальным объектом, по завершении приходя во "взведенное" состояние.


 
han_malign ©   (2004-05-06 09:21) [8]

>понятия не имею, что там за параметры переданы при создании события
- финиш - можно было и не распинаться - человеку даже Help влом прочитать...

>Вдруг какие-то ограничения на то, сколько раз можно устанавливать события.
- как думаешь, сколько раз можно булевской переменной присвоить true, может какие ограничения есть?



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
1-1084115984
KLAUS
2004-05-09 19:19
2004.05.23
НУжно просто навсего удалить файл


1-1083314180
MakNik
2004-04-30 12:36
2004.05.23
Round на разных компах возвращает разные значения


14-1083853190
Lamer-13
2004-05-06 18:19
2004.05.23
Голупый вопрос, но все же...


3-1083311033
Alina
2004-04-30 11:43
2004.05.23
TDateTime в DBGrid e


14-1083246980
Anthonys
2004-04-29 17:56
2004.05.23
Экспертная система