我正在运行Linux,我希望能够将并行函数调用到共享库(.so)中,遗憾的是它不是线程安全的(我猜它有全局数据结构).
出于性能原因,我不想简单地将函数调用包装在互斥锁中.
我想做的是产生4个线程,并将同一个库的4个副本加载到进程内存中.然后每个线程将函数调用到它自己的库副本中.
不幸的是,dlopen不允许我加载任何库的更多一个实例.
有谁知道任何允许我多次加载库的方法?(除了制作4个.so文件的副本,每个都有不同的名称)
c c++ linux shared-libraries thread-safety
c ×1
c++ ×1
linux ×1
shared-libraries ×1
thread-safety ×1