特定于线程的数据

时间:2009-09-02 06:14:02

标签: c

如果我们想在多线程应用程序中使用特定于线程的数据,那么如何定期从另一个收集器线程访问这些数据?有可能吗?

此致 拉姆

2 个答案:

答案 0 :(得分:1)

是的,进程(应用程序)中的所有线程共享相同的内存。只需将数据的地址提供给收集器线程即可。小心并发访问:在更新时读取内存的某些部分。您可能需要使用互斥锁保护某些内存区域。

答案 1 :(得分:0)

在某些系统下,可以在所谓的线程局部存储中创建变量。 Gcc manual解释了如何实现它,并提供了Drepper文章的链接,该文章解释了技术细节。这是C标准扩展,因此在您的系统下应该有不同的机制。