Мне нужно собрать параллельную систему с одним общим Control.Concurrent.Chan
между потоками. Будет только один потребитель и много производителей.
Глядя на документациюChan
, я не увидел никаких предупреждений о количестве потребителей и производителей, которые могут работать на одном и том же канале, и исходный код, похоже, использует «безопасные» средства доступа по умолчанию для MVar
s, поэтому я думаю, что можно с уверенностью предположить, что ограничений быть не должно, но я не уверен.
Итак, мой вопрос... знаете ли вы, безопасны ли каналы haskell (в целом) для нескольких читателей и производителей, пожалуйста?