美文网首页
C++ Volatile 总结

C++ Volatile 总结

作者: fantasy5328 | 来源:发表于2020-01-08 22:17 被阅读0次

虽然在C#和java等语言中volatile关键字可以使用在多线程中(由于增加了内存屏障等机制的保护),
但是在C++中volatile关键字并不适用于多线程

volatile关键字的作用是读取的时候直接从内存中读取(但是写入不会直接写入内存)以及告诉编译器不要过分优化相关代码(更改顺序等),可以用于读取易变的硬件,或者处理signal的情况。

C++中多线程数据可以使用CAS原子操作(<atomic>),或者加锁来实现。
(CAS原子操作的实现中包括内存栅栏——因此可以保证多线程安全)

相关文章

网友评论

      本文标题:C++ Volatile 总结

      本文链接:https://www.haomeiwen.com/subject/bnkeactx.html