在OCaml睡不到一秒钟

Mat*_*iak 15 ocaml sleep delay wait thread-sleep

Unix.sleep函数可以暂停程序整秒,但是如何暂停它不到一秒钟?

Jef*_*eld 14

经典的Unix解决方案是使用没有文件描述符的select():

let minisleep (sec: float) =
    ignore (Unix.select [] [] [] sec)
Run Code Online (Sandbox Code Playgroud)


Mat*_*iak 12

Thread.delay函数暂停线程达到给定的秒数,但它需要一个浮点数,允许您暂停线程不到一秒钟.


Val*_*nko 9

来自Unix模块

val sleepf : float -> unit
Run Code Online (Sandbox Code Playgroud)

停止执行给定的秒数.像睡眠一样,但支持几分之一秒.

  • 请注意,此功能已在4.03.0中添加.OCaml的早期版本无权访问此特定功能. (2认同)