gpt4 book ai didi

multithreading - ruby MRI和事件机中的非阻塞io

转载 作者:行者123 更新时间:2023-12-03 13:05:02 25 4
gpt4 key购买 nike

据我了解,在mri中不阻塞io会使GIL释放锁定。在em中,根据本文:http://www.paperplanes.de/2011/4/25/eventmachine-how-does-it-work.html,根据系统调用selectepollkqueue可以实现非阻塞。有没有一种方法可以在纯 ruby 中进行非阻塞(也就是说,当我等待某些东西时,其他线程正在启​​动)?

最佳答案

GIL不会与EM一起使用,因为一切都发生在同一线程内(EM.defer块ofc除外)

您可以使用来自纯 ruby 的非阻塞代码,这是了解如何查看EM react 器的纯 ruby 实现的最佳方法:https://github.com/eventmachine/eventmachine/blob/master/lib/em/pure_ruby.rb

关于multithreading - ruby MRI和事件机中的非阻塞io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17610185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com