Jump to content

Событие (примитив синхронизации)

В информатике событие ) (также называемое семафором события — это тип механизма синхронизации , который используется для указания ожидающим процессам, когда определенное условие стало истинным.

Событие — это абстрактный тип данных с логическим состоянием и следующими операциями:

  • wait — при выполнении вызывает приостановку исполняемого процесса до тех пор, пока состояние события не станет истинным. Если состояние уже установлено в true до вызова ожидания, ожидание не имеет никакого эффекта. [ нужны разъяснения ]
  • set — устанавливает состояние события в true, освобождает все ожидающие процессы.
  • ясно — устанавливает состояние события в ложное.

Различные реализации событий могут предоставлять разные подмножества этих возможных операций; например, реализация, предоставляемая Microsoft Windows, обеспечивает операции ожидания (WaitForObject и связанные функции), установки (SetEvent) и очистки (ResetEvent). Опция, которую можно указать во время создания объекта события, изменяет поведение SetEvent так, что высвобождается только один поток, а состояние автоматически возвращается в значение false после освобождения этого потока.

События, не имеющие функции сброса , то есть те, которые могут быть завершены только один раз , известны как фьючерсы . [1] Мониторы , с другой стороны, являются более общими, поскольку они сочетают сигнализацию завершения с мьютексом и не позволяют производителю и потребителю одновременно выполняться в мониторе, что делает его критическим разделом event+ .

Ссылки [ править ]

  1. ^ 500 строк или меньше, «Веб-сканер с сопрограммами asyncio» А. Джесси Джирью Дэвис и Гвидо ван Россум говорят, что «реализация использует asyncio.Event вместо Future, показанного здесь. Разница в том, что событие можно сбросить, тогда как Будущее не может перейти от решенного обратно к ожидающему».

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4037fc37a9792993b2d126e8522bf7b2__1705385940
URL1:https://arc.ask3.ru/arc/aa/40/b2/4037fc37a9792993b2d126e8522bf7b2.html
Заголовок, (Title) документа по адресу, URL1:
Event (synchronization primitive) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)