2012-04-06 56 views
0

我有一個java類,這個類通過jni連接到目標系統。加載了System.load(...)的庫。當我使用一個實例和一個目標時,一切正常。但我嘗試使用兩個實例將實例連接到兩個不同的目標。例如; InstanceA connects to TargetAInstanceB connects to TargetB。但是當InstanceB連接到TargetB時,它會覆蓋InstanceA的變量as expected使用jni爲一個類的兩個實例

我想我可以在jni中使用線程,但有回調方法被target調用,並且在回調方法參數中沒有特定值來確定哪些線程有效。

我該如何處理這個問題?任何想法?

+0

我很困惑你的「它會覆蓋InstanceA的變量如預期」。發佈你的類InstanceA/InstanceB的代碼,以便我們看看。你能否澄清你的JNI主題是什麼意思?你在談論Java線程嗎?或JNI代碼中的線程? – 2012-04-06 09:09:25

+0

對不起@GuillaumePolet。你說得對。這是一個錯誤的句子。我只是意識到這一點。當我回顧這個問題時,我改變了一些句子,並忘記改變它。我現在可以看看我的問題,看看這個奇怪的句子。真是太遺憾了......我解決了這個問題,並將分享解決方案。 – Aykut 2012-06-14 17:56:08

回答

0

顯然你有靜態的Java或本地數據,它不應該是靜態的。

+0

你說得對。我的錯。我必須在這裏發佈代碼。所以,沒有任何靜態變量/方法。只有同事錯過了設置結構的指針。 – Aykut 2012-06-14 18:00:18