锁机制
无关痛痒qaq
菜字辈的coder
展开
-
线程通信---等待与唤醒机制
之前有5篇文章,对于线程知识做了一些简单的梳理,这篇文章还是准备以案例实现的形式来记录一下线程之间的通信—等待与唤醒机制。 在了解等待与唤醒机制之前,首先思考一下线程之间为什么需要进行通信? 我们都知道,要想能够去执行一个线程,首先这个线程需要获取CPU的执行权,当这个线程执行完毕之后,就会释放CPU资源,并发执行的时候,剩下的处于就绪状态的线程就会一起去争夺CPU的执行权,谁抢到谁就...原创 2019-12-03 11:01:05 · 364 阅读 · 0 评论 -
Lock锁---实现安全卖票
上一篇文章中:线程安全问题经典案例—卖票,我们使用了synchronized同步代码块来实现了线程安全,这篇文章我们使用Lock锁来实现同样的效果。 Lock锁介绍Lock锁是java jdk1.5版本之后添加一个处理线程安全问题的接口。相比较synchronized而言,更加灵活,因为它不在局限于一个代码块,实现了一些synchronized同步锁所不能实现的功能。JDK1.6 AP...原创 2019-11-29 18:11:19 · 542 阅读 · 1 评论 -
线程安全问题经典案例---卖票
在入门多线程的时候,看到过不少的案例,其中卖票案例尤为经典,在这里自己也记录一下,同时加深对于线程安全的理解: 案例场景情景一: 现在有一个电影院,马上要上映电影《战狼5》,电影院只售票100张,全部通过一个窗口卖出去,那么此种情况则不会出现电影票超卖或者其他任何情况。情景二: 现在电影院装修升级了,新增了两个卖票窗口,1号窗口卖1-30号票,2号窗口卖31-60...原创 2019-11-29 16:11:30 · 857 阅读 · 0 评论 -
Java中的synchronized与lock的区别
Java中的synchronized与lock的区别(转)前言:在java中,线程安全是我们在项目中经常会考虑的问题,常使用的就是synchronized关键字和lock实现加锁操作,但是这两者之间具体有什么区别呢?相信这也是很多老铁想要去了解和掌握的一个知识点。近期逛技术社区的时候看到一片技术博客对这个问题阐述的非常详细,阅读完之后感觉收获不小,感谢作者细心分析。在这里附上连接,与大家共同学习...转载 2019-03-15 00:14:29 · 392 阅读 · 0 评论 -
MySQL(二)锁机制【表级锁、页面锁、行级锁】
首先我们都知道,锁就是计算机用来控制多个线程并发访问同一个共享资源的机制。通过使用锁机制来确保并发访问的数据一致性。在MySQL中不同的存储引擎的表锁支持的锁机制类型也不同:MyIsSAM存储引擎----------采用表级锁MEMORY存储引擎----------采用表级锁InnoDB存储引擎-----------采用行级锁,支持表级锁BDB存储引擎----------采用页...原创 2019-10-08 10:59:21 · 701 阅读 · 0 评论 -
解析三种常见分布式锁的实现
前言现在实际项目开发的过程中,我们无法避免去使用锁的技术,特别是现在项目很多都是分布式开发,对于这种架构的项目我们的锁应该怎么去使用呢?下面我们详细了解一下关于分布式锁的知识点。一、什么是锁?在计算机科学中,锁(lock)或者说互斥()是一种同步机制,用于在有多个线程执行的环境中控制对资源的访问限制。锁的主要作用就是互斥排他,控制并发(比如试衣间只能有一个人进去,要是同时进去两个人可能...原创 2019-10-10 16:23:32 · 268 阅读 · 0 评论