写点什么

12 人感兴趣 · 102 次引用

  • 最新
  • 推荐

史上最全 MySQL 各种锁详解

锁是计算机在执行多线程或线程时用于并发访问同一共享资源时的同步机制,MySQL中的锁是在服务器层或者存储引擎层实现的,保证了数据访问的一致性与有效性。

Java 中 synchronized 锁的深入理解

synchronized使用上用于同步方法或者同步代码块

绕不过的并发编程——synchronized 原理

什么是并发编程的三大问题?为什么有这些问题?具体的例子呢?

浅析 synchronized 底层实现与锁升级过程

在Java中,synchronized关键字是用来控制线程同步的。就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。

Java 中让两个线程交替执行的实现方式

用户头像
Janwee
03-14

Question: There're 2 threads, one prints 'A', 'B' and 'C', the other prints '1', '2' and '3', how to make them print "1A2B3C"?

一天吃透 MySQL 锁面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~

面试官:浅谈一下 Redis 分布式锁存在的问题

假设有这样一个场景,在一个购票软件上买一张票,但是此时剩余票数只有一张或几张,这个时候有几十个人都在同时使用这个软件购票。在不考虑任何影响下,正常的逻辑是首先判断当前是否还有剩余的票,如果有,那么就进行购买并扣减库存数,否则就会提示票数不足

https://static001.geekbang.org/infoq/a4/a48dd9a941e87a1cd74a7bd6610e9480.gif?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

谈谈在 select for update 中到底加了什么锁

最近在开发需求的时候,用到了select...for update。在代码评审的时候,一位同事说 ,唯一索引+一个非索引字段,是否可能会锁全表呢?本文田螺哥将通过9个实验操作的例子,给大家验证select...for update到底加了什么锁,是表锁还是行锁。

https://static001.geekbang.org/infoq/91/91aa81181c30c7976d332cae8913200c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

MySQL 锁,锁的到底是什么?

用户头像
蝉沐风
2022-12-04

MySQL锁系列文章已经鸽了挺久了,最近赶紧挤了挤时间,和大家聊一聊MySQL的锁。

https://static001.geekbang.org/infoq/80/8047ade74602a4c3fd39e1bc3cda6c7a.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

深究用户模式锁的使用场景 (异变结构、互锁、旋转锁)

用户头像
C++后台开发
2022-11-30

  本章节,将结合多线程来介绍锁机制, 那么问题来了,什么是锁呢? 为什么需要锁? 为什么要结合多线程来介绍锁呢?锁的使用场景又是什么呢? DotNet中又有哪些锁呢?

https://static001.geekbang.org/infoq/a2/a2ca6572685bb9729c2253bf8c4546f8.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Redis 分布式锁剖析和几种客户端的实现

用户头像
C++后台开发
2022-11-19

在传统的单体项目中,即部署到单个IIS上,针对并发问题,比如进销存中的出库和入库问题,多个人同时操作,属于一个IIS进程中多个线程并发操作的问题,这个时候可以引入线程锁lock/Monitor等,轻松解决这类问题。但是随着业务量的逐渐增大,比如"秒杀业务", 肯

https://static001.geekbang.org/infoq/e7/e74a6cbec865c2b550f15eabe72e6b24.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

并发编程中的锁、条件变量和信号量

用户头像
C++后台开发
2022-11-04

在并发编程中,经常会涉及到锁、条件变量和信号量。本文从并发开始,探究为什么需要它们,它们的概念,实现原理以及应用。

https://static001.geekbang.org/infoq/68/680f1300474f0fa2136c241a55d28b7b.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

详解 linux 多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

用户头像
C++后台开发
2022-11-03

  在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。

滴滴 Java 后台 3 面题目:网络 + 内存溢出 + 各种锁 + 高性能 + 消息队列

用户头像
小小怪下士
2022-10-31

一面 自我介绍 项目介绍 JVM类加载机制 java的垃圾回收器都有哪些,说下g1的应用场景,平时你是如何搭配使用垃圾回收器的。 红黑树的设计 经常使用的设计模式?以及UML设计? hashmap实现的的数据结构是什么样的?当hash冲突过多时会怎么处

https://static001.geekbang.org/infoq/0a/0a3fc82f93dee17ef765c054cee77e11.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

golang 中的锁竞争问题

用户头像
六月的
2022-10-27

* 更新课件时长的时候上锁,避免出现数据竞争 * 判断如果时长小于60秒的话,就报错。但是注意这里fmt.Errorf打印结构c会调用String()方法 * 我们看String方法里面,又使用了读锁,避免读取的时候数据被更新

一文读懂 MySQL 锁

锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySQL中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySQL中的锁是在服务器层或者存储引擎层实现的。

https://static001.geekbang.org/infoq/e5/e569e9fd994b361b33d3c8225110a7a6.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

乐观锁和悲观锁

用户头像
潜水员
2022-10-02

首先, 乐观锁和悲观锁和本身并不是一种具体锁.

https://static001.geekbang.org/infoq/1c/1c3e411cbf436d4dc30b16f89e6fb6ce.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

库调多了,都忘了最基础的概念 《锁与线程 2 终结篇》

用户头像
知识浅谈
2022-09-10

库调多了,都忘了最基础的概念 《锁与线程2终结篇》

https://static001.geekbang.org/infoq/3e/3e094187340b28bc205a3505b7ac057f.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

库调多了,都忘了最基础的概念 <锁与线程篇 1>

用户头像
知识浅谈
2022-09-09

库调多了,都忘了最基础的概念 <锁与线程篇1>

https://static001.geekbang.org/infoq/ac/ac00a78f69dcee039c60fa1f6115ce2c.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

乐观锁和悲观锁各自应用场景

用户头像
浅羽技术
2022-08-27

乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。

https://static001.geekbang.org/infoq/1a/1a5bbacf2b0b26401b1d311252479b1a.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

阿里内部高并发核心编程笔记:多线程、锁、JMM、JUC、设计模式

用户头像
冉然学Java
2022-08-06

前两天看到一个大佬写的博客,提到高阶开发者必须掌握的技能,其中他明确提出了“精通多线程性能调优”。

https://static001.geekbang.org/infoq/19/191db83cdca95f4a220941851e9cf5c4.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

面试官:可以谈谈乐观锁和悲观锁吗

用户头像
JAVA活菩萨
2022-08-02

乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。**它们的使用是非常广泛的,不局限于某种编程语言或数据库。**乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优

https://static001.geekbang.org/infoq/29/293ed706bc1056b5ea2afec663c24c07.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

mysql 进阶 (四) 聊聊 mysql 中的事务锁机制

FOR UPDATE 仅适用于InnoDB,且必须在事务区块(BEGIN/COMMIT)中才能生效。作用:锁定该语句所选择到的对象。防止在选择之后别的地方修改这些对象造成数据不一致。

谈谈有什么方法可以快捷实现多场景下的线程安全

本文结合示例,谈谈如何在 Java 语言中,实现线程安全的程序。

https://static001.geekbang.org/infoq/a0/a0505f9541243a0dd6e37accc2db645e.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

并发异步编程之争:协程 (asyncio) 到底需不需要加锁?(线程 / 协程安全 / 挂起 / 主动切换)Python3

协程与线程向来焦孟不离,但事实上是,线程更被我们所熟知,在Python编程领域,单核同时间内只能有一个线程运行,这并不是什么缺陷,这实际上是符合客观逻辑的,单核处理器本来就没法同时处理两件事情

15 张图呈现数据库事务背后的并发原理

通过一个转账问题的场景,将数据库9种锁、3种读、4种隔离级别一次性串联起。

锁_锁技术文章_InfoQ写作社区