java 线程锁
在Java线程中运用synchronized关键字来达到同步的
synchronized可以锁方法,锁类,锁对象,锁代码块
方法锁
// 加在方法上面的同步锁是this
public synchronized void print() {
System.out.println("同步方法");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
立即学习“Java免费学习笔记(深入)”;
名扬银河企业建站系统,适用于无代码基础的新手,快速搭建企业网站,程序内置了多项实用功能及插件,能够便捷的对网站进行修改、调整、优化等方面进行操作。【部分功能介绍】1、产品管理发布企业产品信息,管理企业产品,自定义产品封面图,产品详情图、文、视频,产品扩展属性自定义等。2、案例管理系统发布企业成功案例,管理成功案例,自定义案例封面图,案例详情图、文、视频,案例扩展属性自定义等。3、资讯管理系统发布企
类锁
public synchronized void print(String msg) {
// 类锁
synchronized (MyThread.class) {
System.out.println(msg);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
立即学习“Java免费学习笔记(深入)”;
对象锁
以卖火车票为例
public class Window extends Thread {
public Window(String name) {
super(name);
}
static int tick = 100;
static String obj = new String();
@Override
public void run() {
// 开始卖票
while (tick > 0) {
// 同步代码块
// 一把锁 钥匙
// 所有的线程 必须在这里排队
synchronized (obj) {
if (tick > 0) {
System.out.println(getName() + "卖出了第【" + tick + "】张票");// 失去了cpu资源
tick--;
}
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
立即学习“Java免费学习笔记(深入)”;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
更多java 线程锁详细介绍及实例代码相关文章请关注PHP中文网!










