如何在OCaml中使用线程模块

时间:2018-12-15 18:00:08

标签: multithreading ocaml

我想在OCaml中使用线程模块,但无法打开它。 例如,对于Unix,我必须使用:#load "unix.cma";;#load "graphics.cma";;用于图形模块。

但是当我尝试#load "thread.cma"时,它会返回错误。

如何加载?

1 个答案:

答案 0 :(得分:6)

unix.cmagraphics.cmathreads.cma相反(最后一个sThread只是{{1}中包含的模块之一}库)并不直接位于OCaml的标准库目录中,而是位于threads.cma子目录中,因此您必须将其添加到解释器的搜索路径中。此外,threads依赖于threads.cma,因此您也必须加载它。总而言之,以下指令序列应允许您将unix.cma加载到解释器中(threads.cma指示+是标准库的子目录)。

threads

请注意,如果您安装findlib#directory "+threads";; #load "unix.cma";; #load "threads.cma";; (可以在#use "topfind";;文件中放置的伪指令),那么在解释器中使用线程只是键入{{ 1}},更不用说访问其他库也变得更加容易了。