多线程(多线程-同步函数的锁是this)
来源:互联网 发布:易语言二维码生成源码 编辑:程序博客网 时间:2024/06/11 02:38
/*同步函数用的是哪一个锁呢?函数需要被对象调用。那么函数都有一个所属对象引用。就是this。所以同步函数使用的锁是this。通过该程序进行验证。使用两个线程来买票。一个线程在同步代码块中。一个线程在同步函数中。都在执行买票动作。*/class Ticket implements Runnable{ private int tick = 100; Object obj = new Object(); boolean flag = true; public void run() { if(flag) { while(true) { synchronized(this) { if(tick>0) { try{Thread.sleep(10);}catch(Exception e){} System.out.println(Thread.currentThread().getName()+"....code : "+ 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()+"....show.... : "+ tick--); } }}class ThisLockDemo{ 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();// Thread t3 = new Thread(t);// Thread t4 = new Thread(t);// t3.start();// t4.start(); }}
0 0
- 多线程(多线程-同步函数的锁是this)
- 多线程--同步函数使用的锁是this
- java多线程-同步函数的锁是this
- 多线程之同步函数使用的是this锁
- 验证多线程中同步函数锁是this对象
- java多线程详解四 验证同步函数的锁是this
- JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this
- JAVA 多线程静态同步函数的锁是class 对象
- java多线程-静态同步函数的锁是Class对象
- 多线程静态同步函数的锁是class 对象
- (多线程-静态同步函数的锁是Class对象)
- JAVA 多线程静态同步函数的锁是class 对象
- java-同步函数的锁是this
- 毕向东讲解(摘)—7.多线程安全问题(同步函数的锁this验证)
- java多线程-同步函数的锁
- 验证同步代码块与同步函数的锁【多线程】
- 验证同步代码块与同步函数的锁【多线程】
- (49)静态同步函数的锁是Class对象,例子:懒汉式--在多线程中存在问题--同步解决
- celery最佳实践
- Nginx1.8运行Laravel5的配置
- 多线程(获取线程对象以及名称)
- MAMP下安装phpredis扩展
- AsyncTask
- 多线程(多线程-同步函数的锁是this)
- 程序员开发书籍汇总
- windows下 兼容性助手 修改的注册表位置
- java对象转换成json
- static和非static的区别
- PHP扩展总结//待完善
- 运营商网络中的"在线"加密(一)
- 黑马程序员——2.2.基础语法(函数、重载、数组、内存划分,进制转换)
- SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题