Это базовая синхронизация задачи 101, но я не могу найти поисковые термины, которые говорят мне, что мне нужно знать. И я уверен, что здесь это DUP. Если он пуст, он спит/ждет в ожидании ввода. Требуется проверить количество буферов в критическом разделе и спать в том же разделе, чтобы у вас не было условия гонки, когда писатель появляется в некоторых свежих данных между тестом и соном. Мне нужно иметь несколько задач считывателя, и один сигнал от писателя разбудит их все. что мне нужно. Мне нужно что -то, что «разбудит» неизвестное количество читателя (официантов), когда я новый кусок данных. Это не будет сделка с одним выстрелом, будет постоянный поток входящих данных. Если уже появятся новые предметы, API вернется немедленно, но чаще API блокирует (сон) в ожидании входящих данных. Я хочу, чтобы они блокировали, используя ожидание, поэтому большое количество веб -запросов не истощают тренас веб -сервера. Когда появятся новые элементы данных, все эти запросы на ожидание должны «проснуться» и вернуть информацию своим абонентам о новых элементах. О, и ожидание должно пройти время до того, как веб -запрос вышел, просто возвращаясь пустым. Я прочитал статью за статьей об использовании существующих асинхровых интерфейсов и о том, как их вызвать, но я ищу, как реализовать один. И поскольку это кажется гораздо сложнее, чем я ожидал, пример кода или указателей на то же самое будет отличным.
Подробнее здесь: https://stackoverflow.com/questions/796 ... async-prog