Какой бы подходил шаблон проектирования, в котором несколько потоков могли бы запрашивать ресурс, но только один из них был успешным. Все остальные инициаторы уведомляются, когда ресурс доступен.
Например, два или более потоков запрашивают файл ресурсов, полученный по сети. Первый в блокирует два других потока. Первый поток генерирует один запрос, а затем ожидает, пока ресурс станет доступным, как и два других ожидающих потока.
Когда я говорю "ожидание", они на самом деле не ждут блокировки, они проверяют переменную или что-то еще, потому что это уже часть пула потоков, поэтому другие потоки могут выполнять другую работу.
Как называется этот шаблон проектирования?