Разница между TVar и TMVar

Я видел TVar - это простой контейнер, а TMVar такой же, как MVar , что означает, что у него есть блокировка и т. д., но в пределах монады STM . Мне интересно, почему это может быть необходимо, поскольку идея STM состоит в том, чтобы сделать блокировки ненужными.

Итак, что лучше всего использовать, если у вас, скажем, есть тип вроде [Handle ] список дескрипторов сокетов, которые вы хотите использовать между потоками, созданными forkIO ?

43
задан Lanbo 2 August 2011 в 16:08
поделиться