Commits

Dmitry Grebeniuk  committed 7b19dae

thread vs stream

  • Participants
  • Parent commits c54c181

Comments (0)

Files changed (1)

   итератов -- например, позволяют ввод-вывод через базовую монаду.
   В случае, когда базовая монада это lwt или что-то параллельное,
   они органично вклеиваются, позволяя параллельную обработку
-  нескольких потоков данных через lwt.
+  нескольких потоков данных через lwt, обрабатывая итератами
+  в каждой нити lwt по своему потоку данных.
 
 - так как итераты построены поверх базовой монады, которая может
   поддерживать асинхронный ввод-вывод (например, lwt), итераты
   "recoverable errors" для асинхронного вывода в случаях, когда
   он не поддерживается базовой монадой.
 
-- преимущества над окамловскими потоками (модуль Stream) таковы:
+- преимущества над окамловскими Stream таковы:
   - итераты всегда работают с чанками, тогда как в Stream чанки
     предусмотрены только для случаев чтения из in_channel,
   - следствие предыдущего пункта: Stream в остальных случаях предполагает
 
   И при этом операции привязки ">>=" (из монады итератов) в общем случае
 не будут вызывать операции привязки для монады ввода-вывода --
-то есть, в случае lwt они не будут вызывать шедулинг потоков.
+то есть, в случае lwt они не будут вызывать шедулинг легковесных нитей.
 
   Но необходимо разделять операторы привязок для монады итератов и
 базовой монады (например, монады lwt).  В ocaml-iteratees и в