目录

volatile不止是C/C++才有?

同步互斥

不同编程语言的同步互斥机制

原子运算

不同编程语言的原子运算

自增自减运算符是原子运算吗?


volatile不止是C/C++才有?

Java一样有volatile关键字,和C/C++ volatile作用类似,可以保证其修饰的变量一定从内存读写,而不会从缓存读取,对于某些易变变量而言很有用。注意,它不保证原子性,原子操作需要用synchronized、lock或者Atomic*系列API.

同步互斥

正所谓世界没有那么自然,总有矛盾。

不同编程语言的同步互斥机制

  • ObjC 提供 @synchronized 同步机制,开始执行自动加锁,执行完自动解锁,比NSLock lock/unlock更安全。

原子运算

世界也许根本不是原子运算,因为这将少了很多乐趣。

不同编程语言的原子运算

  • C# 提供System.Threading.Interlocked类实现原子操作。

自增自减运算符是原子运算吗?

  • 不是。从处理器的角度,只有原子指令才是原子运算。


若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

1.您还可以访问 迷软科技 网站:https://www.minicoda.com

2.想学习更多知识,您可以关注 微信公众号程序员小迷miniminicode )(一个关注于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift等语言软件开发技能技巧经验的公众号)

更多推荐