2010-11-08 40 views
1

我遇到了一個JNI Native代碼,它使用JNI-> MonitorEnter和JNI-> MonitorExit JNI調用來同步一段本機代碼。但這現在已經成爲瓶頸,嚴重影響系統吞吐量。我正在考慮與JNI的MonitorEnter和MonitorExit交替使用的任何同步機制。JNI-> MonitorEnter的替代方案

你知道任何替代設計嗎?

[某些鏈接http://java.sun.com/docs/books/jni/html/other.htmlhttp://download.oracle.com/javase/6/docs/technotes/guides/jni/spec/functions.html#wp5256]

回答

0

是它花費的時間採取這就是問題的顯示器。或者(更可能在我看來)花費的時間爲,而的鎖定持有?如果你需要保護一段JNI代碼,那麼你單線程在那裏,所以它可能成爲一個瓶頸。

你能以任何方式最小化關鍵部分嗎?你可以重寫代碼是線程安全的嗎?

+0

我想檢查是否需要顯示器是問題。重寫代碼更加線程安全將是最後一個也是最後一個選項。 – user170008 2010-11-08 09:29:37