随笔 - 3, 文章 - 152, 评论 - 17, 引用 - 0
数据加载中……

保留字synchronized的作用

Synchronized是用来保证同一时刻本段代码不会同时运行。在操作系统中这些代码被认为是临界段,如访问打印机,磁盘,信号量等,只可能有一段代码在使用这些临界资源。其他必须等待。这类问题在多cpu多线程的时候尤为要注意。
Synchronized method(){}是用来保证同一时刻某方法不会被多个线程同时执行,以免冲突.
Synchronized (object){}是用来保证在执行大括号中代码时,独占object这个对象,所以,
如果当执行到这里时,如果object正被其他同步方法调用,则必须等候object被解锁,才能进入该程序块,而当进入该程序块时,将对object上锁,执行完以后解锁,以免在此期间,其他程序用到object.
当某个方法被同步化,则内部的属性也被同步化。获得monitor的进程独占这些资源直到解锁。这样做保证某些变量被各个线程共享,并且变化是一致的

posted on 2005-08-11 11:07 阅读(310) 评论(0)  编辑  收藏 所属分类: J2se


只有注册用户登录后才能发表评论。


网站导航: