如何检查线程安全功能?

时间:2013-07-25 06:11:19

标签: c linux posix

我发现tst_brkm()不是线程安全的。但我不怎么检查。检查我的函数是否是线程安全的步骤和工具是什么?

1 个答案:

答案 0 :(得分:1)

线程共享堆,但拥有自己的私有堆栈空间。这意味着每个线程都有自己的局部变量视图,但如果不与互斥锁/信号量同步,则可以覆盖堆中的任何数据。因此,首先要问自己的问题是:我正在访问的内存地址是什么,并且单个线程是否拥有自己对地址所指向的资源的看法?