Если Вы называете EventWaitHandle. Набор () X раз, будет он потоки сигнала X, если X потоки еще не запустились?

Измените URL сайта

Отредактируйте wp-config.php:

define( 'WP_HOME', 'http://192.168.1.123/wp-site' );
define( 'WP_SITEURL', 'http://192.168.1.123/wp-site' );

И, наконец, найдите настройки брандмауэра. Откройте TCP-порт 80 в брандмауэре Windows https://wiki.mcneel.com/zoo/window7firewall

5
задан Brian Rasmussen 5 May 2009 в 20:07
поделиться

3 ответа

Может быть, но, вероятно, нет.

Событие может быть установлено или сброшено, только если сбросить событие нечем, тогда повторные вызовы Set не изменят его состояние, если только событие автоматического сброса, и на нем ожидает хотя бы один поток. С событием ручного сброса любые потоки, ожидающие (или начинающие ждать), будут освобождены до тех пор, пока что-то не сбросит событие.

Я думаю, что вам действительно понадобится семафор, который имеет счетчик и поддерживает настройку n время для освобождения n потоков (даже если некоторые из этих потоков только начинают ожидать после некоторых вызовов для установки).

9
ответ дан 18 December 2019 в 14:51
поделиться

Как заявил Ричард, EventWaitHandles имеют только один флаг и не могут подсчитывать количество вызовов Set. Простое решение добавления переменной count вызывает состояние гонки.

Уильям Кемпф написал статью о том, почему переменные count не работают, и решение с использованием класса .Net Monitor.

1
ответ дан 18 December 2019 в 14:51
поделиться

Это зависит от EventResetMode . Если он установлен в EventResetMode.AutoReset , он освободит только один поток. Однако, если это EventResetMode.ManualReset, он освободит все потоки, заблокированные в событии.

Semaphore.Release(Int)

Где Int - это число, будет один способ сделать это.

3
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: