分类: Java
2018-08-29 05:35:25
同步出现的原因是当线程中使用共享资源时候,为了资源的独占性。这样可以避免获得结果是不正确的。
如果,不是使用共享资源,不建议使用同步!因为这会使多线程变成单线程!而且处理不当,会引起死锁!
比如我们所写线程程序要的结果是:
Count value is: 1
Count value is: 2
Count value is: 3
Count value is: 4
1. 方法同步
没有方法同步的代码:
但是,运行这个程序时,每次排列都是不同的!怎样才能得到我们想要的结果呢?
只需要同步方法addMessage(),即在前面加上“synchronized”关键字!
有方法同步的代码:
2. 块同步
没有块同步的代码:
点击(此处)折叠或打开
但是,运行这个程序时,每次排列都是不同的!怎样才能得到我们想要的结果呢?
只需要把我们要同步的块前加“synchronized”关键字!
代码如下:
点击(此处)折叠或打开