java Lock接口详解及实例代码
作者:lqh 发布时间:2022-12-15 21:44:38
标签:java,Lock,接口
java Lock接口
java.util.concurrent.locks
接口Lock
public interface Loce
Loce实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class IntegerDemo {
public static void main(String[] args) {
// 创建3个线程对象
SellTicket st = new SellTicket();
Thread t1 = new Thread(st, "窗口1");
Thread t2 = new Thread(st, "窗口2");
Thread t3 = new Thread(st, "窗口3");
// 启动线程
t1.start();
t2.start();
t3.start();
}
}
class SellTicket implements Runnable {
private int ticket = 100;
private Lock lock = new ReentrantLock();
public void run() {
while (true) {
lock.lock();
if (ticket > 0) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + "正在出售第" + (ticket--) + "张票。");
}
lock.unlock();
}
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


猜你喜欢
- 有时候我们在使用java编程的时候,想启动线程,怎么启动呢,下面来分享一下方法第一步在我们的电脑上打开eclipse,创建一个java项目,
- 原理:使用Popup控件,并且设置Popup控件的位置居中。1:新建自定义控件PopupBorder,作为Popup的child。代码如下:
- 前言本文以用户名/密码验证方式为例,讲解 Spring Security 的认证流程,在此之前,需要你了解 Spring Security
- 本节我们基于一个发表文章的案例来说明SpringBoot如何elasticsearch集成。elasticsearch本身可以是一个独立的服
- Runtime.getRuntime().exec 路径包含空格1. 现象java代码通过Runtime.getRuntime().exec
- 本文实例为大家分享了Android实现按钮滚动选择效果的具体代码,供大家参考,具体内容如下效果图代码实现package com.demo.u
- 这篇文章主要介绍了JPA save()方法将字段更新为null的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- import java.util.HashMap;import java.util.Map;import org.apache.common
- 什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented P
- Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为fi
- 有时候数据库文档需要整理,可是只能手动的复制粘贴,心中一万只草泥马奔腾而过。。。screw简洁好用的数据库表结构文档生成工具。1. 创建项目
- 目录I. 环境配置1. 项目配置2. 数据库表II. 参数传递1. @Param注解2. 单参数3. 多参数3. Map传参4. POJO对
- 接口的灵活性就在于“规定一个类必须做什么,而不管你如何做”。我们可以定义一个接口类型的引用变量来引用实现接口的类的实例,当这个引用调用方法时
- 在系统的管理员有着实际的应用,对于一个数据库管理系统来说,数据库安全还是挺重要的,所以在存入到数据库的密码通常都是加密的。即使有着hack攻
- 本文实例为大家分享了Android实现悬浮窗效果的具体代码,供大家参考,具体内容如下一、权限:<uses-permission and
- 主要从以下十几个方面对Hibernate做总结,包括Hibernate的检索方式,Hibernate中对象的状态,Hibernate的3种检
- 延迟加载(lazy loading) 设计模式是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据(读取属性值)的时候,
- 代理模式代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远
- 在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能
- java ,javaw 和 javaws 的区别:首先,所有的这些都是java的启动装置,java.e