java多线程学习(二)
来源:互联网 发布:杭州皓辰网络法人 编辑:程序博客网 时间:2024/06/05 19:21
同步函数
同步函数:在函数上加上了同步关键字synchronized进行修饰。
同步表现形式:1.同步代码块 2.同步函数
同步函数例子:
class Bank{ private int sum; //private Object obj=new Object(); public synchronized void add(int n) { //synchronized(obj)注释部分为同步代码块 //{ sum=sum+n; try{Thread.sleep(10);}catch(Exception e){}//让线程在这稍微停一下 System.out.println("sum="+sum); //} }}class Customer implements Runnable{ private Bank b=new Bank(); public void run() { for(int x=0;x<3;x++) { b.add(100); } }}
同步函数使用的锁是什么?
函数需要被调用,哪个对象不确定,但是都用this来表示,同步函数使用的锁就是this。
如果同步函数被static修饰呢?
static方法随着类加载,这时不一定有该类的对象,但是一定有一个该类的字节码文件对象,这个对象简单的表示方式就是:类名.class Class
举例部分代码:
while(true){ synchronized(SaleTicket.class)//类名.class { if(tickets>0) { try{Thread.sleep(10);}catch(Exception e){}//让线程在这稍微停一下 Sysytem.out.println(Thread.currentThread.getName()+"..."+tickets--); } }}
阅读全文
0 0
- java多线程学习(二)
- java多线程学习(二)
- java多线程学习(二)
- java多线程学习(二)
- java多线程学习(二)
- java多线程学习二
- java多线程学习二
- 【JAVA学习】(二)JAVA 多线程同步
- 学习JAVA多线程程序设计(二)
- Java多线程学习总结(二)
- Java多线程学习总结(二)
- java学习笔记(二)多线程
- java之学习多线程(二)
- java多线程入门学习(二)
- Java多线程学习笔记(二)
- Java多线程学习笔记(二)
- java多线程学习提升(二)
- Java多线程学习笔记(二)
- Ubuntu 14.04 + ROS Indigo+Turtlebot2(Kuboki)+Kinect+Huyoko建立gmapping地图,实现自主避障导航
- 位操作-leetcode 389 Find the Difference
- 使用static与const关键字时需要掌握的知识
- eclipse补全代码设置
- 配置Redis
- java多线程学习(二)
- Java面向对象详谈——方法与成员变量
- 网页聊天气泡效果实现
- LINQ系列:Linq to Object相等操作符
- LINQ系列:Linq to Object量词操作符
- spring boot jpa-java.lang.IllegalArgumentException: Not a managed type异常问题解决方法
- Activiti 历史任务查询
- Java面向对象详谈——封装、继承和多态
- mac版MySQL重置初始密码