0
在Java中我创建了一些线程,它们调用相同的本机方法,如:我可以创建仅由JNI中的每个线程使用的对象吗?
public native String go(String str);
在C语言中,我必须为每个线程创建一个对象,并且该对象仅由每个线程使用。
全局引用无法使用,因为它由所有线程共享。
我不想在每次调用JNI方法时创建对象。
我该如何执行此操作?
在Java中我创建了一些线程,它们调用相同的本机方法,如:我可以创建仅由JNI中的每个线程使用的对象吗?
public native String go(String str);
在C语言中,我必须为每个线程创建一个对象,并且该对象仅由每个线程使用。
全局引用无法使用,因为它由所有线程共享。
我不想在每次调用JNI方法时创建对象。
我该如何执行此操作?
所以你想在JNI方面的线程本地Java对象?只需创建一个ThreadLocal并将其存储在全局参考中。
是否有可能从java传递对象而不是在JNI中创建它? – jogabonito 2011-08-17 11:27:08