【问题标题】:How to use thread module in OCaml如何在 OCaml 中使用线程模块
【发布时间】:2018-12-15 18:00:07
【问题描述】:

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

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

如何加载它?

【问题讨论】:

  • 错误信息是什么?
  • 找不到文件thread.cma

标签: multithreading ocaml


【解决方案1】:

unix.cmagraphics.cma 不同,threads.cma(最后一个sThread 只是threads.cma 库中包含的模块之一)不直接驻留在OCaml 的标准库目录中,但是在threads子目录中,所以你必须将它添加到解释器的搜索路径中。此外,threads.cma 依赖于unix.cma,因此您也必须加载它。总而言之,以下指令序列应该允许您在解释器中加载threads.cma+ 表示threads 是标准库的子目录)。

#directory "+threads";;
#load "unix.cma";;
#load "threads.cma";;

请注意,如果您安装了findlib#use "topfind";;(可以放在~/.ocamlinit 文件中的指令),那么在解释器中使用线程只需输入#thread;;,更不用说事实上,访问其他库也变得更加容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 2022-11-22
    • 2020-04-25
    • 1970-01-01
    • 2015-07-13
    相关资源
    最近更新 更多