java 线程锁
在Java线程中运用synchronized关键字来达到同步的
synchronized可以锁方法,锁类,锁对象,锁代码块
方法锁
// 加在方法上面的同步锁是this
public synchronized void print() {
System.out.println("同步方法");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}立即学习“Java免费学习笔记(深入)”;
PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍
386
类锁
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中文网!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号