JRuby多核处理用法
是否可以在多个内核上运行代码块?以循环等为例?如果可能的话,没有太多的开销,为什么不一直使用它呢?我可以通过某种方式在多个核之间传递变量吗 是的,可以在多个核心上执行代码/块,但它并不是那么简单,例如,支持结构必须为此做好准备(没有一个核心结构,例如JRuby多核处理用法,ruby,multithreading,asynchronous,multiprocessing,jruby,Ruby,Multithreading,Asynchronous,Multiprocessing,Jruby,是否可以在多个内核上运行代码块?以循环等为例?如果可能的话,没有太多的开销,为什么不一直使用它呢?我可以通过某种方式在多个核之间传递变量吗 是的,可以在多个核心上执行代码/块,但它并不是那么简单,例如,支持结构必须为此做好准备(没有一个核心结构,例如数组,哈希,是线程安全的) 您不能简单地(1..100)。每个{i | put i}运行多线程时,没有与单线程情况不同(不可预测)的结果 在case或变量中,如果要在线程之间共享,则需要同步访问或使用线程安全结构 也许在您的情况下,我不会从一个绿色领
数组
,哈希
,是线程安全的)
您不能简单地(1..100)。每个{i | put i}
运行多线程时,没有与单线程情况不同(不可预测)的结果
在case或变量中,如果要在线程之间共享,则需要同步访问或使用线程安全结构
也许在您的情况下,我不会从一个绿色领域开始,这些概念和一些并发编程的后台实践都可以使用gem
要并行运行块,请了解
如果您对“安全”感兴趣,还可以在线程之间共享变量(CR尝试引入一个内存模型,因为Ruby缺少一个正式的内存模型-JRuby有一些保证,例如类变量是可变的-跨线程可见的更改)