【发布时间】:2011-02-19 22:42:29
【问题描述】:
我正在尝试在测试中重新创建竞争条件,因此我可以尝试一些解决方案。我发现在我在测试中创建的线程中,ActiveRecord 总是返回 0 的计数和 nil 的查找。例如,表“foos”中有 3 行:
it "whatever" do
puts Foo.count
5.times do
Thread.new do
puts Foo.count
end
end
end
将打印
3
0
0
0
0
0
test.log 显示预期的查询,预期的 6 次:
SELECT count(*) AS count_all FROM `active_agents`
知道这里发生了什么吗?
【问题讨论】:
标签: ruby-on-rails ruby activerecord multithreading rspec