解决多线程安全的方式
synchronized 隐式锁
1.同步代码块
2.同步方法
3.lock 同步锁 显式锁 lock()方法上锁 unlock() 释放锁
aaarticlea/png;base64,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" alt="" />
package com.wf.zhang.juc;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class TestLock {
public static void main(String[] args) {
Ticket ticket = new Ticket();
new Thread(ticket,"1号窗口").start();
new Thread(ticket,"2号窗口").start();
new Thread(ticket,"3号窗口").start();
}
}
class Ticket implements Runnable{
private int tick = 100;
private Lock lock = new ReentrantLock();
@Override
public void run() {
while (true){
//上锁
lock.lock();
try {
if (tick>0){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
}
System.out.println(Thread.currentThread().getName() +"完成售票,余票为 "+ --tick);
}
}finally {
//释放锁
lock.unlock();
}
}
}
}
- JUC之Lock接口以及Synchronized回顾
Lock接口 Synchronized关键字回顾: 多线程编程步骤(上): 创建资源类,在资源类创建属性和操作方法 创建多个线程,调用资源类的操作方法 创建线程的四种方式: 继承Thread 实现Ru ...
- Java中的Lock接口
Synchronized & Lock synchronized 是Java语言中的关键字,由monitorenter,monitorexit两个指令实现.JVM会将monitorenter指 ...
- JUC包Lock机制的支持--AQS
在上一次总结中,提到了JUC包下使用Lock接口实现同步的方法,以及和Synchronized关键字的一些比较,那么使用Lock完成锁机制的底层支持又是什么呢?总结如下: 1 AQS是什么 AQS是一 ...
- 多线程之Lock接口
之前写了一下synchronized关键字的一点东西,那么除了synchronized可以加锁外,JUC(java.util.concurrent)提供的Lock接口也可以实现加锁解锁的功能. 看完本 ...
- synchronized关键字,Lock接口以及可重入锁ReentrantLock
多线程环境下,必须考虑线程同步的问题,这是因为多个线程同时访问变量或者资源时会有线程争用,比如A线程读取了一个变量,B线程也读取了这个变量,然后他们同时对这个变量做了修改,写回到内存中,由于是同时做修 ...
- 线程同步 Lock接口
同步:★★★★★ 好处:解决了线程安全问题. 弊端:相对降低性能,因为判断锁需要消耗资源,产生了死锁. 定义同步是有前提的: 1,必须要有两个或者两个以上的线程,才需要同步. 2,多个线程必须保证使用 ...
- Java基础知识强化之多线程笔记06:Lock接口 (区别于Synchronized块)
1. 简介 我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式 ...
- Java多线程(五) Lock接口,ReentranctLock,ReentrantReadWriteLock
在JDK5里面,提供了一个Lock接口.该接口通过底层框架的形式为设计更面向对象.可更加细粒度控制线程代码.更灵活控制线程通信提供了基础.实现Lock接口且使用得比较多的是可重入锁(Reentrant ...
- jdk1.5多线程Lock接口及Condition接口
jdk1.5多线程的实现的方式: jdk1.5之前对锁的操作是隐式的 synchronized(对象) //获取锁 { } //释放锁 jdk1.5锁的操作是显示的:在包java.util.concu ...
- Java多线程的~~~Lock接口和ReentrantLock使用
在多线程开发.除了synchronized这个keyword外,我们还通过Lock接口来实现这样的效果.由Lock接口来实现 这样的多线程加锁效果的优点是非常的灵活,我们不在须要对整个函数加锁,并且能 ...
随机推荐
- 【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)
1 需求 表哥需要给儿子报名考试,系统要求上传不超过30KB的图片,而现在的手机随手一拍就是几MB的,怎么弄一个才30KB的图片呢? 一个简单的办法是在电脑上把图片缩小,然后截屏小图片,但现在的电脑屏 ...
- 手动模拟实现Spring IOC功能(基于javaConfig风格)
以下文中spring特指spring frameWork项目,不含其它:如spring cloud等. 作为刚开始研究spring源码的小白,对于spring两大核心功能之一的IOC,虽说大致了解了B ...
- Java中代理和装饰者模式的区别
装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案: 代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用: 装饰模式为所装饰的对象增强功能:代理模式对代理的对 ...
- 【Android - 自定义View】之自定义可下拉刷新或上拉加载的ListView
首先来介绍一下这个自定义View: (1)这个自定义View的名称叫做 RefreshableListView ,继承自ListView类: (2)在这个自定义View中,用户可以设置是否支持下拉刷新 ...
- plot()与dev 函数族的使用
1. plot()的类型选择 plot()函数,属于graphics包中. plot(a,b,type="value") type:以什么样的形式来画a,b之间的关系: ·&quo ...
- Chapter 04—Basic Data Management
1. 创建新的变量 variable<-expression expression:包含一组大量的操作符和函数.常用的算术操作符如下表: 例1:根据已知变量,创建新变量的三种途径 > my ...
- WebGL简易教程——目录
目录 1. 绪论 2. 目录 3. 资源 1. 绪论 最近研究WebGL,看了<WebGL编程指南>这本书,结合自己的专业知识写的一系列教程.之前在看OpenGL/WebGL的时候总是感觉 ...
- 重磅!普惠AI--华为云语音语义万次调用1元购,有奖问答@评论区等你来!【华为云技术分享】
活动快速入口:https://activity.huaweicloud.com/language_speech_promotion0.html 语音交互与自然语言处理 语音交互是一种人机交互方式,以开 ...
- Python正则表达式,看完这篇文章就够了...#华为云·寻找黑马程序员#【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- 【我的物联网成长记6】由浅入深了解NB-IoT【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...