Зарегистрировать новую тему для уже определенного барьера - PullRequest
0 голосов
/ 02 октября 2018

Есть ли способ добавить поток к уже заданному барьеру?

Сценарий: у меня в определенный момент времени N потоков, и код объявляет Barrier для их обработки.

Проблема в том, что иногда мне может понадобиться обработать другой новый поток внутри этого экземпляра барьера, но барьер уже объявлен только с N потоками.

Пример:

barrier = new Barrier(N, (sprint) => { 
       Console.WriteLine($"Current sprint: {sprint.CurrentPhaseNumber}")
});

После объявления мне нужно как-то обновить его с N + 1 темы, какие-либо предложения?

1 Ответ

0 голосов
/ 02 октября 2018

Полная документация по Барьеру находится здесь: https://docs.microsoft.com/en-us/dotnet/standard/threading/barrier

В двух словах, вы можете добавить или удалить участника в любое время, позвонив соответственно AddParticipant или RemoveParticipant.

...