David Grigoryan

+13
с 2022
6 подписчиков
27 подписок

+ ко всему, в любом случае, в классической (и правильной) парадигме RW мьютексов - операция записи должна дождаться, пока выполнится текущая операция чтения.

Я полагаю что нейминг был выбран исходя из того, на "что из существующих механизмов это больше всего похоже" :)

Да, такое конечно можно реализовать, как минимум с помощью барьеров которые встроены в libdispatch

1

В стандартной акторной модели, как правило содержится очередь операций. Так вот в данном случае данная очередь избавляет нас от тех проблем, которые были затронуты в статье, а именно операция на входе ждёт пока завершится текущая операция в акторе.
Так же, ключевое слово await тоже можно рассматривать как отправку сообщений в стандартной акторной модели.

Вся проблема в том, что нету гарантий того, что не будет производится одновременно чтение и запись. И в таком случае чтение не может быть безопасным, если по этому же самому ключу в таблице будет происходить запись новых данных.