Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang 长生不老药/二郎-纳米睡眠_Erlang_Elixir_Sleep_Nano - Fatal编程技术网

Erlang 长生不老药/二郎-纳米睡眠

Erlang 长生不老药/二郎-纳米睡眠,erlang,elixir,sleep,nano,Erlang,Elixir,Sleep,Nano,那里有长生不老药/二郎的纳米睡眠吗? Erlangs定时器。睡眠“只”需要几毫秒,我正在寻找比这更短的睡眠时间。我最终做了如下事情: defmodule TimeCheck do def time_ok(time) do if :erlang.system_time - time < 10000 do TimeCheck.time_ok(time) else true end end end defmodule TimeCheck

那里有长生不老药/二郎的纳米睡眠吗?
Erlangs
定时器。睡眠“只”需要几毫秒,我正在寻找比这更短的睡眠时间。

我最终做了如下事情:

defmodule TimeCheck do
  def time_ok(time) do
    if :erlang.system_time - time < 10000 do
      TimeCheck.time_ok(time)
    else
      true
    end
  end
end
defmodule TimeCheck do
def time_ok(时间)do
if:erlang.system_time-time<10000 do
时间检查。时间\确定(时间)
其他的
真的
结束
结束
结束

我最终做了这样的事情:

defmodule TimeCheck do
  def time_ok(time) do
    if :erlang.system_time - time < 10000 do
      TimeCheck.time_ok(time)
    else
      true
    end
  end
end
defmodule TimeCheck do
def time_ok(时间)do
if:erlang.system_time-time<10000 do
时间检查。时间\确定(时间)
其他的
真的
结束
结束
结束

2007年,至少没有这样的情况。这里提出的解决方案是“忙碌等待”,即在循环中不断检查时间,直到你想睡觉的时间过去。这篇文章的作者最终提出了繁忙等待的解决方案。你想睡眠大约多少纳秒?如果它很小,忙碌的等待可能就足够了。需要考虑的是:睡眠时间到底需要多长?我想Erlang的先发制人调度器可能会在你的方向盘上放一个辐条。如果你运气不好,调度器可能会在繁忙的等待循环中间中断进程,而你最终会睡得比你希望的长得多。根据您的使用情况,这可能不是一个问题。@PatrickOscity所说的-Erlang的软实时架构可能只在尝试计时时保证毫秒级的少量精度。我们可以帮助更多,如果你陈述你的用例-除非你正在做非常低的水平(设备驱动)的工作,你应该考虑在C开始,睡眠是皱眉在Erlang世界从我所读。据报道,没有任何这样的,至少在2007。这里提出的解决方案是“忙碌等待”,即在循环中不断检查时间,直到你想睡觉的时间过去。这篇文章的作者最终提出了繁忙等待的解决方案。你想睡眠大约多少纳秒?如果它很小,忙碌的等待可能就足够了。需要考虑的是:睡眠时间到底需要多长?我想Erlang的先发制人调度器可能会在你的方向盘上放一个辐条。如果你运气不好,调度器可能会在繁忙的等待循环中间中断进程,而你最终会睡得比你希望的长得多。根据您的使用情况,这可能不是一个问题。@PatrickOscity所说的-Erlang的软实时架构可能只在尝试计时时保证毫秒级的少量精度。如果你陈述你的用例,我们可能会有更多的帮助——除非你做的是非常低的水平(设备驱动)工作,你应该在C开始考虑这样做,从我读到的内容来看,Erlang世界中的睡眠是皱眉的。