java中Synchronized锁的用法


Java线程同步中的一个重要的概念synchronized.

synchronized是java的关键字,是一种同步锁,它作用的对象有以下几种:

①作用在代码块上.该代码块称为同步代码块,作用范围是大括号{..}括起来的代码,作用的对象是调用这个代码块的对象

②方法上

③静态方法

④类

案列1,同步代码块

```

public class MySynchornized implements Runnable {

private static int count;

public MySynchornized() {
count = 0;
}

@Override
public void run() {
// 同步代码块
synchronized (this) {
for (int i = 0; i < 5; i++) {
try {
System.out.println(Thread.currentThread().getName() + ":" + (count++));
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

public int getCount() {
return count;
}
}

调用

测试结果:

未加锁情况下:

加锁:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM