我的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'已經同步。所以,少一點擔心! –