Java线程:线程的同步-同步块
2009-12-02 00:00:00 来源:WEB开发网核心提示: 线程E运行结束,增加“32”,Java线程:线程的同步-同步块(2),当前用户账户余额为:132线程B运行结束,增加“-60”,因为你占用着锁,其他互斥线程还是无法访问同步程序块,当前用户账户余额为:72线程D运行结束,增加“-30&r
线程E运行结束,增加“32”,当前用户账户余额为:132
线程B运行结束,增加“-60”,当前用户账户余额为:72
线程D运行结束,增加“-30”,当前用户账户余额为:42
线程F运行结束,增加“21”,当前用户账户余额为:63
线程C运行结束,增加“-80”,当前用户账户余额为:-17
线程A运行结束,增加“20”,当前用户账户余额为:3
Process finished with exit code 0
注意:
在使用synchronized关键字时候,应该尽可能避免在synchronized方法或synchronized块中使用sleep或者 yield方法,因为synchronized程序块占有着对象锁,你休息那么其他的线程只能一边等着你醒来执行完了才能执行。不但严重影响效率,也不合逻辑。
同样,在同步程序块内调用yeild方法让出CPU资源也没有意义,因为你占用着锁,其他互斥线程还是无法访问同步程序块。当然与同步程序块无关的线程可以获得更多的执行时间。
出处:http://lavasoft.blog.51cto.com/62575/221922
更多精彩
赞助商链接