Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:在并发线程中使用相同的模型会引发“未初始化常量ModelName”`_Ruby On Rails_Multithreading_Concurrency_Rake - Fatal编程技术网

Ruby on rails Rails:在并发线程中使用相同的模型会引发“未初始化常量ModelName”`

Ruby on rails Rails:在并发线程中使用相同的模型会引发“未初始化常量ModelName”`,ruby-on-rails,multithreading,concurrency,rake,Ruby On Rails,Multithreading,Concurrency,Rake,当两个并发线程尝试访问ModelName时,将返回未初始化的常量ModelName 如果一个rake多任务的两个任务试图同时访问一个模型或类,则会发生相同的错误 这不是数据库问题,我的池大小足够大,即使对于没有数据库的常规类也会发生错误 这是否可以确保两个并发线程可以同时访问同一个类或模型?我可以在两个不同的进程中运行它们,但我想确保它们能够访问共享变量。考虑使用互斥锁。 我在课堂上也有同样的问题。 这样的事情应该可以解决问题: require 'thread' mutex = Mutex.ne

当两个并发线程尝试访问ModelName时,将返回未初始化的常量ModelName

如果一个rake
多任务的两个任务试图同时访问一个模型或类,则会发生相同的错误

这不是数据库问题,我的池大小足够大,即使对于没有数据库的常规类也会发生错误

这是否可以确保两个并发线程可以同时访问同一个类或模型?我可以在两个不同的进程中运行它们,但我想确保它们能够访问共享变量。

考虑使用互斥锁。 我在课堂上也有同样的问题。 这样的事情应该可以解决问题:

require 'thread'
mutex = Mutex.new
mutex.synchronize do
  MyClass.class_method(param)
end
考虑使用互斥锁。 我在课堂上也有同样的问题。 这样的事情应该可以解决问题:

require 'thread'
mutex = Mutex.new
mutex.synchronize do
  MyClass.class_method(param)
end