synchronized “同步”二字如何理解?
在了解多线程时,发现多同步二字不是很理解,脑海里同步、异步的概念一直模模糊糊,于是上网查了一下,发现网上的解释大多是这种:
同步、异步:
概念:消息的通知机制
解释:涉及到IO通知机制;所谓同步,就是发起调用后,被调用者处理消息,必须等处理完才直接返回结果,没处理完之前是不返回的,调用者主动等待结果;所谓异步,就是发起调用后,被调用者直接返回,但是并没有返回结果,等处理完消息后,通过状态、通知或者回调函数来通知调用者,调用者被动接收结果。
来源:https://blog.csdn.net/linhuaiyang/article/details/68483222
然而在多线程中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上,被synchronized修饰的方法/代码被称为同步方法/同步代码块。
知道synchronized是干什么的了,但是还是不理解“同步”二字表示什么意思?该如何理解这里的同步呢? 感觉和上面说的同步不是一回事啊,还是说次同步不是彼同步?