关于‘同步’和‘异步’这两个词语。
在Java里我们把关键字Synchronized翻译成“同步”。这时问题出现了,我们对‘同步’的一般理解为:同时执行,即一项工作由不同的人或单位同时执行或同时完成。然而用Synchronized关键字标识的方法或代码块在同一时间只能有一个线程执行,这完全与我们对“同步”的一般理解是相反的,因此一些初学者在学习Synchronized时就会有一些烦恼了,因为这与大脑中对同步的理解有区别了。
为此,我们可以将Synchronized理解为:同步--同一时间只有一个路线。(同:同一时间。步:路线,一个线程是一个路线)。这时 同步方法就可以理解为:同时时间只能有同一个线程执行此方法。如果这样理解,那么大脑中的烦恼自然就消失了。
后记:
在理解‘同步’这个词语的时候我特别注意了烦恼的产生这个问题:当大脑对某一个问题形成了一定的看法后,突然发现通过这种理解不能解释某个问题的时候,烦恼就会出现了。当出现烦恼时,大脑就会对高速的运转,用以为解决问题做好准备。