我正在运行 Apache、Phusion Passenger、Ruby on Rails 网站。我有一个关键部分,我只能同时允许 1 次执行。我注意到 phusion 乘客使用 fork() 根据此文档为每个请求生成进程。由于它们是单独的进程,我注意到我所有的 Mutex.synchronize 都不起作用。我在临界区添加了一些日志,但我仍然注意到日志是交错打印的。
我尝试了所有这些:
- 互斥体同步
- Thread.exclusive
- 监控同步
它们都不起作用。
在这种情况下如何进行同步?非常感谢。