2010-11-08 42 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