我的Jython脚本正在调用一些我正在用Java编写的代码(因为我更熟悉Java多线程)。现在事实证明,我需要从Java中调用其中一个Jython方法(否则我将不得不用Java重新编写它)。从Java调用Jython(Jython脚本调用Java,然后必须调用Jython)
从Jython驱动Java很容易,而且它也很容易设置,使得Java成为主人,Jython成为奴隶,但它并不那么明显,设置它以便他们可以调用的最佳方式是什么彼此。
官方文档包含关于这一切的非常长的一篇文章:Chapter 10: Jython and Java Integration,这让初看起来很难:一对一的对象工厂,松散耦合的工厂以及使其工作的许多代码。
还有我发现其他来源也进入了很多细节,但是没有提供任何简单的解决方案:
既然有一个Jython解释器已经运行了,应该有一个简单的方法来调用它的一个方法,而不必实例化一个新的interp reter(就像上面的最后一个链接一样,如果Java开着Jython的话你需要做的就是这样)。实际上有这样一种方式吗?
实际上,Jython的多线程甚至比CPython更好https:/ /www.jeffknupp.com/blog/2013/06/30/pythons-hardest-problem-revisited因此,我猜想解释发生在每个线程分开,唯一需要担心的是多线程编程的常见方面。另外:http://www.jython.org/jythonbook/en/1.0/Concurrency.html也表示'list','dict'和'set'已经同步。所以,少一点担心! –