gpt4 book ai didi

java - 系统 loadLibrary 在多线程中使用时挂起

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:00 25 4
gpt4 key购买 nike

我正在尝试从线程中的 Java 应用程序加载 native 库,比如每个线程 Thread1、Thread2 ... ThreadN 尝试加载相同的共享库,但是在 Thread1 加载库后,其他线程被阻塞System.loadLibrary。谁能帮我解决这个问题?

谢谢

最佳答案

使用同步和标记:

boolean isLoaded = false;
Object lock = new Object();

void loadLibs(){
sinchronized(lock){
if(!isLoaded) {
//System.loadLibrary ...
isLoaded = true;
}
}
}

否则你可以使用静态构造函数来保证只调用一次

static {
//System.loadLibrary ...
}

关于java - 系统 loadLibrary 在多线程中使用时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25524821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com