我開始從C++的線程和調用到Java。 JVM本身具有正確設置的類路徑,並將所有必需的jar傳遞給-Djava.class.path。爲什麼後續jni線程在currentThread()。getClassLoader()上返回null?
爲什麼「上下文類加載器」在新線程中永遠爲空?
我有這個SZENARIO:
ClassLoader cl = Thread.currentThread().getContextClassLoader(); // null on new threads
ClassLoader currCl = MyClass.class.getClassLoader();
ClassLoader jbossCl = org.jboss.remoting.InvocationResponse.class.getClassLoader();
在第一個線程(它說在Eclipse「主」),所有的三個對象是有效的,含有類。在所有跟隨的線程cl
爲空。
對我來說沒有任何意義,如果我將類加載到JVM中,它們應該可用於全局的每個線程,不是嗎? 由於某些原因,currCl和jbossCl中的類也有大量不同。第一個有〜600,另一個有> 1000
「開始從C++線程和調用到Java」這是什麼意思:
這可以像做什麼? – dhblah
您介意向我們展示您如何在JNI代碼中創建線程? –