特定于线程的数据

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

关心拉姆

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

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