【发布时间】:2014-08-26 09:30:45
【问题描述】:
我正在开发一个多线程应用程序,该应用程序将访问共享库,现在我看到共享库不包含任何全局变量,这是否意味着该库是线程安全的?例如。
我正在从各个线程调用函数func() 到一个共享库,例如:
线程 1 -> func()
线程 2 -> func()
...
线程 N ->func()
而func()的定义如下,
void func(){
int var;
func2(&var);
}
在这种情况下,它是线程安全的吗?
【问题讨论】:
-
如果你问
var是否会独立于每个线程,是的。它是一个自动变量。func2的其余部分是否“线程安全”取决于您。
标签: c linux multithreading thread-safety shared-libraries