【发布时间】:2010-12-11 18:13:37
【问题描述】:
我的代码是完全并行的,没有依赖关系,所以使用 pthreads 是一个自然的选择。不幸的是,只有一个共享资源,即日志文件。
在任何情况下,我们都不希望日志逐行交错,因此我不想在每个日志调用上使用互斥锁,而是想为每个线程打开一个单独的日志文件。但是目前,通过代码,有一个全局变量记录器。
我目前有两种解决方案,但都没有让我满意。
- 在线程 ID 上实现哈希:pthread_self()。
- 将参数从线程创建传递到它调用的每个函数(非常具有侵入性)。
我喜欢一些聪明的方法,让它看起来像我在每个线程中都有一个全局变量,开销很小。
【问题讨论】:
-
请添加您当前如何使用此变量的代码示例。
标签: c pthreads local-storage