“改掉用阻塞了?”是什么意思?
static{}是在类加载时运行的,只会运行一次,即使在多线程下也是。

解决方案 »

  1.   

    会不会使这种原因:
      dll只能在第一个线程中加载,其他线程中不能加载dll?
      

  2.   

    应该不会,其他线程不会加载因为static{}只运行一次。你怎么知道调用阻塞了?
      

  3.   

    如果不在第一个线程中创建,System.loadLibrary("mylib")调用不返回,证明阻塞了。后来我在第一个线程,即main函数中增加一句话:new my_jni_class();
    然后一切ok了。怪。
      

  4.   

    确实比较怪,难道只有在主县城中才能loadlibrary?我去试试