静态方法使用synchronized修饰.
package seday10;
/**
* @author xingsir
* 静态方法若使用synchronized修饰,这个方法一定具有同步效果。静态方法上使用的同步监视器对象为这个类的"类对象",
* 每个java定义的类都只有唯一的一个类对象(Class类型的的实 例)
*/
public class syncDemo3 {
public static void main(String[] args) {
Thread t1 =new Thread() {
public void run() {
Class1.method();//静态类,直接用类名调用方法
}
};
Thread t2 = new Thread() {
public void run() {
Class1.method();//静态类,直接用类名调用方法
}
};
t1.start();//启动
t2.start();//启动
}
}
class Class1{
/*
* 两种方法:
* 1.直接加在方法名前面 public synchronized static void dosome(){}
*/
public synchronized static void method() {
/*
* 2.静态方法中若使用同步监视器对象,也可以使用 当前类的类对象,获取当前类的类对象可以直接
通过:类名.class得到。如下:synchronized (Foo.class) {}
*/
// synchronized (Foo.class) {
try {
Thread thread =Thread.currentThread();
System.out.println(thread.getName()+":正在执行method...");
Thread.sleep(5000);
System.out.println(thread.getName()+":执行method完毕!");
} catch (Exception e) {
e.printStackTrace();
}
// }
}
}
最新文章
- websocket业务代码
- linux共享内存实验
- silverlight简单数据绑定3
- 问题-某个程序改了ICO图标后编译后还是显示老图标?
- svm、经验风险最小化、vc维
- MySQL查询缓存详解
- 笔记- iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案
- Java时间转换类实现
- 为web服务器设置HttpOnly防范XSS攻击
- 通过命令名称查询进程id
- legoblock秀上限
- 201521123090《JAVA程序设计》第二周学习总结
- SSH深度历险(一)深入浅出Hibernate架构(一)-------映射解析——七种映射关系
- goroutine和channel
- 将Long类型字节大小数据转换成标准的视频大小格式
- .net core jwt
- 「SCOI2014」方伯伯的商场之旅 解题报告
- centos6.8安装python3.7无法import _ssl
- k8s 环境搭建
- 《linux就该这么学》找到一本不错的Linux电子书,《Linux就该这么学》。
热门文章
- JavaSE学习笔记(1)---数据类型、运算符、控制结构
- css总结 -使用display:inline-block,出现元素高度错位
- LaTeX技巧010:LaTtex中如何给每个句子加序号?
- ABC155 D pair 边界处理取整
- Wannafly Camp 2020 Day 1I K小数查询 - 分块
- Java 13 新特性
- AntDesign(React)学习-7 Menu添加事件
- Qt中的Label和PushButton背景图自动缩放设置
- 三、linux环境的搭建1(oracle、ssh、jdk、mysql、samba、tomcat)
- DES加密算法 转