Ian Rogers wrote: > The JNI provides mappings to monitor entry and exit. From google I found > this document: > > http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniref.html#thrd > That is some tutorial. Not a specification on how JNI, JVMs or threading systems work. > > I quote: > > You may find that in cases where you want access to a local system > resource like a MFC window handle or message queue, it is better to use > one Java |Thread| and access the local threaded native event queue or > messaging system from within the native code. > > So, it would seem to me that this is recommending using a single Java > thread to access a local system resource which would avoid M-to-N > threading issues as M would be 1. In classpath we are currently using > multiple Java threads to access gtk. Whilst the quote is short of saying > what to do with threading and JNI, I think it is a strong hint to > programmers that this is a fairly murky area, probably because of the > mixing of threading models. > It is only a recommendation from a tutorial writer. The JVM and runtime libraries can do whatever they want within the constraints of the specifications. . . . > > I hope this clears up my point-of-view. Thanks, >