您的位置:首页 > 编程语言 > Java开发

Java同步方法synchronized

2015-04-28 17:03 253 查看
在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。

package test;

import java.text.SimpleDateFormat;
import java.util.Date;

public class TestSynchronized {

public static void main(String[] args) {
call();
}

public synchronized static void num() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(new Date()));
}

public static void call() {
for (int i = 0; i < 5; i++) {
new Thread(new Runnable() {
@Override
public void run() {
num();
}
}).start();
}
}

}


输出结果(每隔3秒输出一次)

2015-04-28 16:54:01.947
2015-04-28 16:54:04.949
2015-04-28 16:54:07.949
2015-04-28 16:54:10.949
2015-04-28 16:54:13.950


如果去掉 num 方法之前的 synchronized 关键字,输出结果(同时输出)

2015-04-28 16:57:15.073
2015-04-28 16:57:15.073
2015-04-28 16:57:15.073
2015-04-28 16:57:15.073
2015-04-28 16:57:15.073
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐