(Crossposting note:这个问题也已于12月20日在JRuby邮件列表(jruby@ruby-lang.org)和1月2日的JRuby论坛上发布,但尚未得到任何回复.
这个问题是关于在存在多线程的情况下理解LocalContextScope参数的影响.
我们可以在JRuby Wiki上找到 一个有助于为LocalContextScope参数选择最佳值的配方.该页面解释了,此参数控制是否在线程之间共享ScriptingContainer和/或Ruby Runtime和/或Variable Map.但是,我希望对这个问题有一个更深入的了解,特别是"系统"的哪一部分实现在这三个组件中的哪一个中.
作为一个具体的例子:当我在Ruby中创建全局变量,或者在顶级上下文中创建新类或函数和变量时,它们是属于ScriptingContainer,运行时还是变量映射?除非知道这一点,否则我不知道我必须使用哪个LocalContextScope.