多线程---同步函数的锁是this(转载)
2015-02-10 14:44
197 查看
class Ticket implements Runnable{ private int tick = 100; Object obj = new Object(); boolean flag = true; public void run() { if(flag) { while(true) synchronized(this)//注意这里的锁要一致 //跟show()函数一样都是一个锁,show()锁是本身所以是this //同步的前提是:1、两个及其以上的线程;2、锁一样 { if(tick>0) { try{Thread.sleep(10);}catch(Exception e){} System.out.println(Thread.currentThread().getName()+"同步代码块"+tick--); } } }else { while(true) show(); } } public synchronized void show()//锁是this { if(tick>0) { try{Thread.sleep(10);}catch(Exception e){} System.out.println(Thread.currentThread().getName()+"同步函数...."+tick--); } }}class ThisLock{ 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(); }}
相关文章推荐
- 多线程---静态同步函数的锁是class(转载)
- 面向对象-多线程(同步函数的锁this与静态同步函数的锁class)
- 多线程(多线程-同步函数的锁是this)
- 多线程--同步函数使用的锁是this
- 多线程(四)——多线程安全问题之同步函数(This Lock )
- 多线程-验证同步函数的锁是this
- 验证多线程中同步函数锁是this对象
- 面向对象-多线程(同步函数的锁是this与静态同步函数的锁是class)
- java多线程-同步函数的锁是this
- 毕向东讲解(摘)—7.多线程安全问题(同步函数的锁this验证)
- 多线程---同步函数(转载)
- (转载)多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
- java-同步函数的锁是this
- 04.多线程--06.【同步方式在线程两种创建方式中的可行性】【同步代码块和同步函数的关系】【多线程程序设计思路总结】
- 用delegate实现.NET应用程序的同步函数的异步调用-.NET多线程编程实践之一
- 用delegate实现.NET应用程序的同步函数的异步调用-.NET多线程编程实践之一
- JAVA 多线程静态同步函数的锁是class 对象
- (转载)C#多线程编程之:同步事件和等待句柄
- 讲Linux下面线程的操作、多线程的同步和互斥相关函数及操作的文章链接
- Java 多线程 静态同步函数