-1
package keylogger;

public class TestKeys {
private static int i = 0;
private native void setWinHook();
private native void unregisterWinHook();

public static void main(String args[]) {

    TestKeys o = new TestKeys();

    System.loadLibrary("MyHook"); // load the library that registers the hook

    Runnable r = new Runnable() {
        @Override
        public void run() {
            System.out.println("After the call to System.loadLibrary");
        }
    };
    new Thread(r,"new thread").start();  
  }
}

当我启动程序时,dll它被加载并且它的工作。run method但是of中的语句new thread不会被打印出来。这是为什么 ?为什么java线程不启动?dll 代码不会立即返回。事实上,它没有办法返回。

和 :

程序遇到语句时是否启动新线程System.loadLibrary

4

1 回答 1

2

当程序遇到语句 System.loadLibrary 时是否启动新线程?

除非库在其初始化部分创建一个。

PS如果你join()是线程,行为会改变吗?

于 2012-05-30T07:11:45.553 回答