我可以创建一个仅供JNI中每个线程使用的对象吗?

时间:2011-08-17 10:24:42

标签: multithreading variables java-native-interface

在Java中我创建了一些线程,它们调用相同的本机方法,如:

public native String go(String str);

在C语言中,我必须为每个Thread创建一个对象,并且该对象仅由每个Thread使用。

不能使用全局引用,因为它由所有线程共享。

每次调用JNI方法时,我都不想创建对象。

我该如何实现?

1 个答案:

答案 0 :(得分:1)

所以你想要JNI端的线程本地Java对象?只需创建一个ThreadLocal并将其存储在全局参考中。