我有以下脚本(ruby 1.9.3),如果我注释掉两条 Thread 行它工作正常,如果我把它们留在我的网络服务器上,我会收到 500 内部错误。为什么这在 CGI 中不起作用,但在命令行上却可以正常工作?
#!/usr/bin/ruby
require 'rubygems'
require 'cgi'
print "Content-type: text/html\n\n"
TIMEOUT = 8
def worker(data, results)
results[data] = rand(6)
end
if __FILE__ == $PROGRAM_NAME
results = {}
worker("abc", results)
t = Thread.new{ worker("xyz", results) }
t.join(TIMEOUT)
print results
print "done"
end