Spec-Zone.ru › OCaml
☰Библиотека OCaml
  • Основная библиотека
  • Стандартная библиотека
  • Внешний интерфейс компилятора
  • Библиотека unix: системные вызовы Unix
  • Библиотека str: регулярные выражения и обработка строк
  • Библиотека runtime_events
  • Библиотека потоков
  • Библиотека dynlink: динамическая загрузка и компоновка объектных файлов
  • Недавно удалённые или перемещённые библиотеки (Graphics, Bigarray, Num, LablTk)

Глава 35 Библиотека потоков

Библиотека threads позволяет писать конкурентные программы на OCaml. Она предоставляет несколько потоков управления (также называемых легковесными процессами), которые выполняются одновременно в одном пространстве памяти. Потоки взаимодействуют посредством изменения общих структур данных на месте либо отправляя и получая данные по каналам связи.

Библиотека threads реализована на основе средств работы с потоками, предоставляемых операционной системой: потоков POSIX 1003.1c для Linux, MacOS и других Unix-подобных систем; потоков Win32 для Windows. В каждый момент времени только одному потоку разрешено выполнять код OCaml в конкретном домене 9.5.1. Поэтому возможности параллельного выполнения ограничены частями программы, выполняющими системный код или код библиотеки C. Однако потоки обеспечивают конкурентность и позволяют структурировать программы как несколько взаимодействующих процессов. Потоки также эффективно поддерживают конкурентные перекрывающиеся операции ввода-вывода.

Программы, использующие потоки, необходимо компоновывать следующим образом:

        ocamlc -I +unix -I +threads other options unix.cma threads.cma other files
        ocamlopt -I +unix -I +threads other options unix.cmxa threads.cmxa other files

Единицы компиляции, использующие библиотеку threads, также необходимо компилировать с параметром -I +threads (см. главу 13).

  • Модуль Thread: легковесные потоки
  • Модуль Event: первоклассная синхронная коммуникация
« Библиотека runtime_eventsБиблиотека dynlink: динамическая загрузка и компоновка объектных файлов »
Авторское право © 2026 Institut National de Recherche en Informatique et en Automatique

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/libthreads.html

Spec-Zone.ru

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