Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизСколько раз можно вызывать 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.025 c