不是说了么,让你创建 OS 线程。四五楼使用的是 Ruby 的线程,在 Ruby 1.8 中是属于万恶的绿色线程,在调用 OS 底层耗时的东西时无法进行上下文切换。1.8 自始至终都只有一个 OS 线程作为解释器在运行,执行权在交给底层的 API 后,自然解释器就完全失去了程序控制权,这时线程调度器自然也瘫痪了。
即便是使用了本地线程的 Ruby 1.9,由于有 GIL 的存在,当调用 API 的线程获得执行权后,就会对 GIL 进行加锁,所以虽然其它线程都是 OS 线程,但却都被锁在了外面,只能等待里面调用 API 的线程结束。作者: 赛露休斯 时间: 2010-11-26 21:20 回复 苏小脉 的帖子
那问题就是如何在RMXP中创建 OS 线程了,能否举个例子?作者: 苏小脉 时间: 2010-11-26 21:35 回复 赛露休斯 的帖子