Вопрос по delay, thread-sleep, ocaml, wait, sleep – Спать меньше секунды в OCaml

14

Unix.sleep Функция может приостановить программу на целые секунды, но как вы можете приостановить ее менее чем на секунду?

Ваш Ответ

3   ответа
12

Thread.delay Функция приостанавливает поток на заданное количество секунд, но принимает плавающее число, позволяя приостановить поток менее чем на секунду.

8

отЮникс модуль

val sleepf : float -> unit

Stop execution for the given number of seconds. Like sleep, but fractions of seconds are supported.

Обратите внимание, что эта функция была добавлена в 4.03.0. Предыдущие версии OCaml не имеют доступа к этой конкретной функции.
13

Классическое решение Unix для этого заключается в использовании select () без файловых дескрипторов:

let minisleep (sec: float) =
    ignore (Unix.select [] [] [] sec)
и не забывайте о сигналах, которые могут прервать выбор

Похожие вопросы