-2

就是那个问题。我使用线程调用了一个函数,但是当我返回主控时,主控会在几分钟内进入睡眠状态。

示例(Look这是调用 Win32API 函数的行GetMessage):

Start()
e = Thread.new { Look() }
for _i in 0..1000
    puts e.status
end

此代码应打印e1000 次的状态,但它只打印一次。我找不到合理的错误。Look在收到消息之前不会返回,所以我怀疑这可能会导致错误。

4

2 回答 2

0

我的猜测是 is 的状态enilputs显示为一个空字符串。

nil状态表示线程异常终止。

不管有什么问题,你的代码都打印1000 次,你应该在里面放一些可见的文本puts来显示。

此外,不要使用一次性变量_i,而是编写

1000.times do
    puts e.status
end
于 2013-05-09T03:11:03.273 回答
0

我解决了感谢您的所有帮助,错误在于我只需要为 PeekMessage 更改 GetMessageA,因此线程不会解释这是死 jeje

Some.Proxy

于 2013-05-09T19:25:21.290 回答