неблокирующий setTimeout в javascript против сна в ruby ​​

Итак, в javascript, поскольку он по своей природе управляется событиями, кажется, что setTimeout не блокируется. Это означает, что если я сделаю это:

setTimeout(function(){
  console.log('sleeping');
}, 10);
console.log('prints first!!');

Он выведет ' сначала печатает !! ', а затем ' спящий '.

Интерпретатор js не будет ждать, пока будет выполнен setTimeout, вместо этого он сразу же выполнит фрагмент кода под ним. Когда пройдет 10 мс, затем он выполняет функцию обратного вызова.

Теперь я недавно поигрался с ruby. Я знаю, что он имеет неблокирующую поддержку в библиотеке событийной машины. Но мне интересно, сможем ли мы добиться чего-то похожего на пример setTimeout, который у меня только что написано на javascript с sleep или какой-либо функцией в ruby ​​изначально без поддержки событийной машины? Возможно ли это вообще с помощью процедуры закрытия, блока или чего-то еще? Спасибо.

5
задан Benny Tjia 16 February 2012 в 03:11
поделиться