c语言很奇怪的bug

只有两个文件 t.h 和t.c
在t.h文件内定义两个变量,

const char* g_strRight= “1234”;

const char* g_strBack= “5678”;

在t.c文件里 有两步操作,先打开一个线程,打印出来,
printf(“%s\n”, g_strRight);
printf(“%s\n”, g_strBack);


再打开一个线程,再打印一次,
printf(“%s\n”, g_strRight);
printf(“%s\n”, g_strBack);


结果问题来了,第一次没有问题,第二次 竟然, g_strBack 的值为NULL

经过多次的研究原来是线程间的互斥关系。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注