Размышляя над сущностью реактивных потоков (reactive streams), я пришел к выводу, что реактивный поток есть пара потоков: обычный поток сообщений плюс обратный поток разрешений на запись. В мире синхронного программирования поток разрешений на запись реализуется (семафором, так что в случае реактивных потоков мы имеем дело с асинхронным семафором.
Но создатели библиотек для работы с реактивными потоками не только не предоставили пользователям доступ к асинхронному семафору как самостоятельному объекту, они вообще нигде не упоминают этот термин.
Как вы думаете, почему?
Здравствуйте, rfq, Вы писали:
rfq>Но создатели библиотек для работы с реактивными потоками не только не предоставили пользователям доступ к асинхронному семафору как самостоятельному объекту, они вообще нигде не упоминают этот термин. rfq>Как вы думаете, почему?
Здравствуйте, rfq, Вы писали:
rfq>Размышляя над сущностью реактивных потоков (reactive streams), я пришел к выводу, что реактивный поток есть пара потоков: обычный поток сообщений плюс обратный поток разрешений на запись. В мире синхронного программирования поток разрешений на запись реализуется (семафором, так что в случае реактивных потоков мы имеем дело с асинхронным семафором.
А можно посмотреть пример того, что называется реактивным потоком ? Не очень понимаю, зачем там обратный поток разрешений на запись.
Здравствуйте, Ikemefula, Вы писали:
I>А можно посмотреть пример того, что называется реактивным потоком ? Не очень понимаю, зачем там обратный поток разрешений на запись.
Здравствуйте, Sharov, Вы писали:
S>Здравствуйте, rfq, Вы писали:
rfq>>Но создатели библиотек для работы с реактивными потоками не только не предоставили пользователям доступ к асинхронному семафору как самостоятельному объекту, они вообще нигде не упоминают этот термин. rfq>>Как вы думаете, почему?
S>А зачем, если это скорее всего деталь реализации?
Ну вот представьте, на дворе 1960 год, а вам задали реализовать блокирующую очередь в виде списка. Никаких средств синхронизации у вас нет. Вы очень умны, изобретаете семафоры и с их помощью делаете элегантную реализацию блокирующей очереди.
Вы выдаете решение, а про семафоры ничего не говорите — для вас они всего лишь деталь реализации. Вас же просили сделать блокирующую очередь — ее вы сделали.
А если кого-то попросят сделать кольцевой буфер для многопоточной работы — пусть он изобретает семафоры заново.