有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JNI不适用于AppKit线程

我正在从Mac上的Swing应用程序调用一个本机函数。调用来自AWT-EventQueue-0线程。我调用了一些异步本机API,并在AppKit线程中的回调中结束([NSThread isMainThread] == TRUE)。问题是JNI不能在AppKit线程上工作。例如,调用env->;FindClass将一个SIGABRT用于崩溃我的应用程序。然而,JNI在EventQueue线程中工作正常

如何在AWT-EventQueue-0线程内执行本机回调代码,或使JNI在AppKit线程内工作

OpenJDK 1.7、OS X 10.10、XCode 6.1.1


共 (1) 个答案

  1. # 1 楼答案

    不确定这是否有用,因为如果没有更多信息,很难确切地知道发生了什么,但当我在一个线程中存储一个env指针,然后在另一个线程中使用该指针时,我遇到了这个问题。不同的线程需要自己的env指针