标题:求助:多线程,静态全局变量在不同线程下数值不同
作者:wells
日期:2016-03-02 15:53
内容:
我用POSIX多线程,在QT上编写了多线程的socket服务器端,一个专门的线程用来接收socket从机发来的数据,用一个全局静态变量来共享线程之间的数据。调试中,发现在socket线程中已更新的数据,在主线程gui下却没有更新?为什么呢?
求解答,谢谢!
#1 [johnyork 03-02 20:20]
没做访问互斥?
#2 [dbzhang800 03-03 15:19]
从你贴的截图看,二者的地址都不一样,肯定不是同一个东西。
你是定义了两个独立的变量吧,然后你让他们都叫 g_buf 。还是你在头文件里面定义了变量,然后间接造成多重定义??
另外,你为什么用static变量呢?是为了压制多处定义导致的编译错误吗?