浏览 1791 次
锁定老帖子 主题:‘同步’和‘异步’的诱惑
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-17
关于‘同步’和‘异步’这两个词语。 在Java里我们把关键字Synchronized翻译成“同步”。这时问题出现了,我们对‘同步’的一般理解为:同时执行,即一项工作由不同的人或单位同时执行或同时完成。然而用Synchronized关键字标识的方法或代码块在同一时间只能有一个线程执行,这完全与我们对“同步”的一般理解是相反的,因此一些初学者在学习Synchronized时就会有一些烦恼了,因为这与大脑中对同步的理解有区别了。
为此,我们可以将Synchronized理解为:同步--同一时间只有一个路线。(同:同一时间。步:路线,一个线程是一个路线)。这时 同步方法就可以理解为:同时时间只能有同一个线程执行此方法。如果这样理解,那么大脑中的烦恼自然就消失了。
后记: 在理解‘同步’这个词语的时候我特别注意了烦恼的产生这个问题:当大脑对某一个问题形成了一定的看法后,突然发现通过这种理解不能解释某个问题的时候,烦恼就会出现了。当出现烦恼时,大脑就会对高速的运转,用以为解决问题做好准备。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-19
我觉得还是有点问题
我觉得“同步”这个词的语义范畴,不是对“线程”,“进程”而言的,是对“数据”而言的。 意思是:“数据要同步” 你觉得呢? |
|
返回顶楼 | |
发表时间:2009-04-22
同步:是对数据的一种操作方式,即:在同一时间内对该数据是独占还是分享(或者部分独占和分享)
|
|
返回顶楼 | |