线程的问题 两个线程,一个全局变量,其中一个线程读写这个变量,另一个线程只读这个变量,直接这样用安全吗,需要用criticalsection什么的同期吗,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那个全局变量的字长如果小于等于机器的数据总线长度,而且是默认对齐的,就可以不用。比如机器是32位的,那么机器每个总线周期会按对齐的方式读出或写入32位的数据,如果这个全局变量在这32位中,就可以全部读出或写入。否则,如果对齐设置得不对,这个全局变量中有16位在这32位中,另16位在下个32位中,有可能造成读写数据不一致的错误。如果是64位的全局变量,可以使用InterlockedExchange64 也就是说BOOL,int32,char什么的都是安全的了,长一点的比如字符串什么的就得保护是吧 写线程用Interlocked* 族函数读线程直接读就好. 在调用ldap_search_s总返回[0x20] No Such Object 问一下关于文件目录的问题!知道的进来指点一下 3Q! 急求一些编写FTP代理服务器软件的知识资料!! 天之窟窿 求教一个底层的问题 C++新手学习问题,谢谢回答! vc写的dll,在vb调用,为何无结果?VC爱好者帮忙! 请问是否可以对Win2k下的所有进程调用CreateRemoteThread()? 关于如何学习COM... IE的COM问题!!! 棘手的问题,DirectShow! vc 类中如何使用map模板的
比如机器是32位的,那么机器每个总线周期会按对齐的方式读出或写入32位的数据,如果这个全局变量在这32位中,就可以全部读出或写入。否则,如果对齐设置得不对,这个全局变量中有16位在这32位中,另16位在下个32位中,有可能造成读写数据不一致的错误。
如果是64位的全局变量,可以使用InterlockedExchange64
读线程直接读就好.