以下是我的情景,
红宝石
require 'ffi'
module Queue
extend FFI::Library
ffi_lib FFI::Library::LIBC
attach_function :subscribe, [ :void], :void
end
Thread.new { Queue.subscribe() }
C-程序
int subscribe(){
while(true){
//Do Stuff
}
}
有什么想法?有没有更好的方法来管理它?
答案 0 :(得分:1)
我认为你不应该认为这是停止函数,它更像是停止函数运行的线程。函数一般不能“停止”;这是什么意思?它不能只是消失,如果它正在执行一个指令那么CPU应该做什么呢?
然而,线程是可调度的执行单元,它们可以被销毁。你需要阅读你正在使用的线程API(也许Thread.new()
调用返回了什么?)并从那里弄清楚。