• 4660阅读
  • 2回复

[提问]求助:多线程,静态全局变量在不同线程下数值不同 [复制链接]

上一主题 下一主题
离线wells
 

只看楼主 倒序阅读 楼主  发表于: 2016-03-02
我用POSIX多线程,在QT上编写了多线程的socket服务器端,一个专门的线程用来接收socket从机发来的数据,用一个全局静态变量来共享线程之间的数据。调试中,发现在socket线程中已更新的数据,在主线程gui下却没有更新?为什么呢?




求解答,谢谢!
离线johnyork

只看该作者 1楼 发表于: 2016-03-02
没做访问互斥?
离线dbzhang800

只看该作者 2楼 发表于: 2016-03-03
从你贴的截图看,二者的地址都不一样,肯定不是同一个东西。

你是定义了两个独立的变量吧,然后你让他们都叫 g_buf 。还是你在头文件里面定义了变量,然后间接造成多重定义??

另外,你为什么用static变量呢?是为了压制多处定义导致的编译错误吗?
快速回复
限100 字节
 
上一个 下一个