Spec-Zone.ru › Haskell 7

Control.Concurrent.Chan

Авторские права (c) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Устойчивость экспериментальная
Переносимость непереносимая (конкурентность)
Безопасный Haskell Надежный
Язык Haskell2010

Содержание

  • Тип Chan
  • Операции
  • Интерфейс потока

Описание

Неограниченные каналы.

Тип Chan

data Chan a Источник

Chan — это абстрактный тип, представляющий неограниченный канал FIFO.

Примеры

Eq (Chan a)

Операции

newChan :: IO (Chan a) Источник

Создает и возвращает новый экземпляр Chan.

writeChan :: Chan a -> a -> IO () Источник

Запись значения в Chan.

readChan :: Chan a -> IO a Источник

Чтение следующего значения из Chan.

dupChan :: Chan a -> IO (Chan a) Источник

Дублирование Chan: дублированный канал начинает работу пустым, но данные, записанные в любой из каналов, будут доступны из обоих. Таким образом, это создает своего рода канал широковещательной передачи, где данные, записанные кем-либо, видны всем остальным.

(Обратите внимание, что дублированный канал не равен исходному. Поэтому: fmap (c /=) $ dupChan c возвращает True для всех c.)

unGetChan :: Chan a -> a -> IO () Источник

Устаревшее: если вам нужна эта операция, используйте Control.Concurrent.STM.TChan вместо этого. Подробности см. на http://ghc.haskell.org/trac/ghc/ticket/4154

Возврат данных обратно в канал, где они будут следующим элементом для чтения.

isEmptyChan :: Chan a -> IO Bool Источник

Устаревшее: если вам нужна эта операция, используйте Control.Concurrent.STM.TChan вместо этого. Подробности см. на http://ghc.haskell.org/trac/ghc/ticket/4154 для деталей

Возвращает True, если предоставленный Chan пустой.

Интерфейс потока

getChanContents :: Chan a -> IO [a] Источник

Возвращает ленивый список, представляющий содержимое предоставленного Chan, аналогично hGetContents.

writeList2Chan :: Chan a -> [a] -> IO () Источник

Запись всего списка элементов в Chan.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Control-Concurrent-Chan.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API