多线程之静态同步函数/方法
来源:互联网 发布:联通申请开通80端口 编辑:程序博客网 时间:2024/04/19 13:47
/*如果同步函数被静态修饰后,使用的锁是什么呢?通过验证,发现不在是this。因为静态方法中也不可以定义this。静态进内存是,内存中没有本类对象,但是一定有该类对应的字节码文件对象。类名.class 该对象的类型是Class静态的同步方法,使用的锁是该方法所在类的字节码文件对象。 类名.class*/class Ticket implements Runnable{private static int tick = 100;//Object obj = new Object();boolean flag = true;public void run(){if(flag){while(true){synchronized(Ticket.class){if(tick>0){try{Thread.sleep(10);}catch(Exception e){}System.out.println(Thread.currentThread().getName()+"....code : "+ tick--);}}}}elsewhile(true)show();}public static synchronized void show(){if(tick>0){try{Thread.sleep(10);}catch(Exception e){}System.out.println(Thread.currentThread().getName()+"....show.... : "+ tick--);}}}class StaticMethodDemo{public static void main(String[] args) {Ticket t = new Ticket();Thread t1 = new Thread(t);Thread t2 = new Thread(t);t1.start();try{Thread.sleep(10);}catch(Exception e){}t.flag = false;t2.start();}}
阅读全文
0 0
- 多线程之静态同步函数/方法
- 多线程静态方法同步
- 多线程静态方法同步
- Java 多线程 静态同步函数
- JAVA多线程静态同步函数
- 多线程五(同步静态函数)
- java多线程之-----静态同步synchronized方法与synchronized(class) 代码块
- java 多线程 同步函数 。同步函数的锁 和 静态同步函数的锁
- 《多线程编程》学习之五:synchronized同步语句块,静态同步synchronized方法与synchronized(类名.class)代码块
- JAVA 多线程静态同步函数的锁是class 对象
- java多线程-静态同步函数的锁是Class对象
- 多线程静态同步函数的锁是class 对象
- (多线程-静态同步函数的锁是Class对象)
- JAVA 多线程静态同步函数的锁是class 对象
- Java多线程 6 静态同步方法的锁
- Java1.6多线程之同步方法
- 【JAVA】多线程之synchronized 同步数据 方法
- 多线程之互斥、同步方法解析
- 猜字小游戏
- python练习(六)
- B
- Java设计模式——单例模式
- sublime text 3 ,Package Control:There are no packages available for installation解决办法
- 多线程之静态同步函数/方法
- WebSocket使用教程
- cocos2d-js与android互相调用
- HNUST 1520: 压缩编码
- find the most comfortable road-并查集带权
- 【工具】在这里你能看到intellj(idea)的源码
- 深入理解Java:注解(Annotation)--注解处理器
- ACM集训日记-8月9日
- AS R 文件丢失