本帖最后由 z47057554 于 2015-3-3 11:33 编辑
- public void run()
- (
- 代码
- 。。。
- 代码
- //以下为你要在多线程中同步的代码
- synchronized//判断锁1,此锁能保证代码块中同步,同一时间只能有一个线程进入执行
- {
-
- 代码
- 。。。
- 代码
- StringBuffer sb1//判断锁2,此锁只能保证sb1不会被并发操作,有锁1还,它没用,每次执行时却需要判断
-
- 代码
- 。。。
- 代码
- StringBuffer sb2//判断锁3,此锁只能保证sb2不会被并发操作,有锁1还,它没用,每次执行时却需要判断
-
- 代码
- 。。。
- 代码
- StringBuffer sbn//判断锁n,此锁只能保证sbn不会被并发操作,有锁1还,它没用,每次执行时却需要判断
- }
- //代码中要创建n+1个锁,代码运行每到一个锁会判断一次,以上表示会判断n+1次
- }
- *********************************************************************
- //此代码只需一把锁,执行时只需判断一次
- synchronized//判断锁
- {
- ...
- StringBuilder sb1
- ...
- StringBuilder sb2
- ...
- StringBuilder sbn
- }
复制代码 这里,StringBuffer没比Stringbuilder安全,但用StringBuffer会使效率下降
|