topics

全部话题 - 话题: metex
(共0页)
b********e
发帖数: 215
1
来自主题: JobHunting版 - C++ volatile请教
volatile告诉编译器不要做优化,读和写直接到memory,一些情况下我知道要用
volatile:
int flag = 1;
while(flag == 1)
{
}
如果其他线程可能会改变flag,这里需要是volatile,否则编译器会优化为 while(
true)
但是如果在多线程下一个变量已经被用synchronisation primitive保护了:
lock(mutex)
int tt = 5;
unlock(mutex)
我们还需要把它申明为volatile吗?否则的话,一个线程改变了变量的值,还没有写到
memory,但释放了metex,另一个线程获得metex,access变量,但memory中的变量的值
还是旧的没改变的。简短来说,就是已经被critical section或metex保护的变量在多
线程中还有必要申明为volatile吗?
O****C
发帖数: 368
2
来自主题: Software版 - Mac Air上的OneNote突然不能用了
完全不能打开。
我已经重装几次都不行。麻烦你们帮我看看error report。 谢谢。
Microsoft Error Reporting log version: 2.0
Error Signature:
Exception: EXC_BAD_ACCESS
Date/Time: 2014-09-10 22:55:06 +0000
Application Name: Microsoft OneNote
Application Bundle ID: com.microsoft.onenote.mac
Application Signature: ONMC
Application Version: 15.2.140713
Crashed Module Name: MicrosoftOffice
Crashed Module Version: 15.2.140713
Crashed Module Offset: 0x00071f94
Blame Module Name: MicrosoftOffice
Blame Module Version: 15.2.140713
Blame Modu... 阅读全帖
(共0页)