我在主线程中创建了一个新线程并在while循环中运行,直到我的全局变量发生了变化。但是如果我在主线程中更改全局变量,它就不会反映在新线程中。会有什么问题。
Thread.new do
loop do
p "login info"
p logged
mutex.synchronize do
if(!logged)
break
else
begin
#do something
sleep 5
rescue => e
p e
end
end
end
end
我在logout方法中设置了记录为false。但循环没有破坏
模块SessionsHelper
已记录= false
#以给定用户身份登录。
def log_in(用户)
session[:user_id] = user[:id]
storeAuthToken(user)
logged=true
端
答案 0 :(得分:0)
变量必须定义为$ logged = false