Spec-Zone.ru › Haskell 7

Foreign.Concurrent

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

Содержание

  • Операции на основе конкурентности ForeignPtr

Описание

Типы данных и операции FFI, использующие или требующие конкурентности (только GHC).

Операции на основе конкурентности ForeignPtr

Эти функции обобщают свои аналоги в модуле Foreign.ForeignPtr для портативных операций, разрешая произвольные IO действия в качестве финализаторов. Эти финализаторы, необходимо, выполняются в отдельном потоке, см. Деструкторы, финализаторы и синхронизация Ханса Боема, POPL, 2003.

newForeignPtr :: Ptr a -> IO () -> IO (ForeignPtr a) Источник

Преобразует обычную ссылку на память в внешний объект, связав с ссылкой финализатор — заданный монадной операцией. Финализатор будет выполнен после того, как последняя ссылка на внешний объект будет удалена. Нет гарантии оперативности, и, фактически, нет гарантии, что финализатор вообще когда-либо выполнится.

addForeignPtrFinalizer :: ForeignPtr a -> IO () -> IO () Источник

Эта функция добавляет финализатор к заданному ForeignPtr. Финализатор будет запущен после того, как последняя ссылка на внешний объект будет удалена, но *перед* всеми ранее зарегистрированными финализаторами для того же объекта.

© 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/Foreign-Concurrent.html

Spec-Zone.ru

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