[英]system loadLibrary hangs when used in multiple threads
我正在尝试从Java应用程序中的线程中加载本机库,比如说每个线程Thread1,Thread2 ... ThreadN试图加载相同的共享库,但是在Thread1加载库后,其他线程在系统上被阻塞。调用LoadLibrary。 谁能帮我解决这个问题?
谢谢
使用同步和标志:
boolean isLoaded = false;
Object lock = new Object();
void loadLibs(){
sinchronized(lock){
if(!isLoaded) {
//System.loadLibrary ...
isLoaded = true;
}
}
}
否则,您可以使用带有静态构造函数的技巧,该构造函数保证仅被调用一次
static {
//System.loadLibrary ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.