Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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
Ruby 内核#sleep和Thread.stop之间的差异_Ruby_Multithreading - Fatal编程技术网

Ruby 内核#sleep和Thread.stop之间的差异

Ruby 内核#sleep和Thread.stop之间的差异,ruby,multithreading,Ruby,Multithreading,它们是: Kernel#sleep不带参数使用,以及 线程停止 等价物?如果没有,有什么区别?我想你是在问,在运行的线程中调用sleep或stop是否等效。我想说,是的,它在语义上是相同的,但它们调用不同的低级函数: stop -> rb_thread_sleep_deadly(); sleep -> rb_thread_sleep_forever(); 你知道这些C级函数有什么不同吗?

它们是:

  • Kernel#sleep
    不带参数使用,以及
  • 线程停止

等价物?如果没有,有什么区别?

我想你是在问,在运行的线程中调用
sleep
stop
是否等效。我想说,是的,它在语义上是相同的,但它们调用不同的低级函数:

stop -> rb_thread_sleep_deadly();
sleep -> rb_thread_sleep_forever();

你知道这些C级函数有什么不同吗?