Является ли SetEvent атомным?
-
06-07-2019 - |
Вопрос
Безопасно ли, чтобы 2 или более потоков вызывали SetEvent API Win32 для одного и того же обработчика событий, не защищенного критическим разделом?
Решение
Это безопасно, но помните, что если один поток устанавливает его, а другой поток устанавливает его одновременно, вы не получите два уведомления, только одно; так как 2-й изменил его с True на ... True. Если вы беспокоитесь об этом, используйте вместо этого семафоры.
Другие советы
Если у вас несколько потоков, ожидающих одного и того же события и выполняющих один и тот же код. Р> <Ол>
нет ограничений на вызов SetEvent из нескольких потоков.
Не связан с StackOverflow