sen*_*hil 7 ruby thread-safety
不确定线程安全是否适用||=.
最初阅读有关ActiveSupport :: Memoizable的内容并且想知道那里的线程安全性.
这取决于实施。请注意,它x ||= y会扩展为x || x = y,并且仅当是或 时x = y才会执行。xfalsenil
话虽如此,Ruby 语言的 C 实现应该是完全线程安全的。
\n\nYARV 使用本机线程来实现并发,它确实以真正的并行方式运行。然而,为了保持向后兼容性,引入了全局的、解释器范围的锁。
\n\n然而,JRuby 不会对代码施加内部锁定,因此您必须在需要时手动同步调用。
\n\n有关更多详细信息,请参阅我就该主题给出的另一个答案。另外,请阅读J\xc3\xb6rg W Mittag 的精彩回答,更深入地了解各种 Ruby 实现的线程模型。
\n| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |