【发布时间】:2018-11-19 16:25:31
【问题描述】:
我必须归档一个名为 main.c 的文件和一个名为 disperse.c 的文件
disperse.c 创建线程来处理 main.c 中的负载,看起来像这样:
void *entry(void *arg) {
foo_function()
}
void disperse() {
pthread_t thread;
pthread_create(&thread, NULL, entry, (void*) args);
pthread_join(thread, NULL);
}
main.c 包含 foo_function() 并且该函数编辑全局变量。 有什么方法可以使 main.c 线程中包含的全局变量安全吗?
【问题讨论】:
-
创建一个新线程然后在下一行
join它是没有意义的。为什么要创建线程?为什么不在那个时候直接打电话给entry()? -
我认为这个问题在softwareengineering.stackexchange.com上会更好
-
@Broman 在提及其他网站时,指出cross-posting is frowned upon 通常会有所帮助
标签: c multithreading thread-safety