技术栈
锁
秋.
3 天前
java
·
开发语言
·
锁
·
等待唤醒机制
Java锁等待唤醒机制
在 Java 并发编程中,锁的等待和唤醒机制至关重要,通常使用 wait()、notify() 和 notifyAll() 来实现线程间的协调。本文将详细介绍这些方法的用法,并通过示例代码加以说明。
fananchong2
5 天前
sql
·
mysql
·
innodb
·
锁
·
事务隔离级别
MySQL InnoDB 事务隔离级别和锁
根据 SQL 行为,分为 2 种类型锁:锁算法又有 2 种:根据锁的粗粒度,还有意向锁(InnoDB事务并发决策用的,可以不用关注)
Nathan__27
15 天前
缓存
·
go
·
锁
go-文件缓存与锁
语言:golang在抓取网站前,可能会多次读取文件中的cookie。频繁读取文件,性能不佳,故在go包中创建了一个map全局变量存储文件内容,只有键不存在时才去读取文件。 因为对go并不熟悉,才发现,不同请求读取到的是同一个变量(地址)。对于性能来说,这其实是好的。但出现一个问题:文件更新后,该变量的值依然是文件更新之前的内容,需要重新运行go包,而cookie随时可能失效而去更新,频繁重启这显然不现实。
AquaPluto
2 个月前
数据库
·
mysql
·
锁
MySQL锁详解
什么是锁?锁是一种保障数据的机制为何要用锁?在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,以及事务隔离级别的概念,而锁机制可以将并发的数据访问顺序化,以保证数据库中数据的一致性与有效性
是小崔啊
2 个月前
数据库
·
mysql
·
事务
·
锁
事务03之MVCC机制
读-读场景即是指多个事务/线程在一起读取一个相同的数据,比如事务T1正在读取ID=88的行记录,事务T2也在读取这条记录,两个事务之间是并发执行的。 对于这种情况而言,不需要做任何操作,因为不改变数据就不会引起任何并发问题
自信不孤单
2 个月前
linux
·
多线程
·
条件变量
·
线程安全
·
同步
·
锁
·
互斥
Linux线程安全
临界资源和临界区进程之间如果要进行通信我们需要先创建第三方资源,让不同的进程看到同一份资源,由于这份第三方资源可以由操作系统中的不同模块提供,于是进程间通信的方式有很多种。进程间通信中的第三方资源就叫做临界资源,访问第三方资源的代码就叫做临界区。
Golinie
2 个月前
linux
·
服务器
·
c++
·
锁
·
多线程开发
【C++高并发服务器WebServer】-9:多线程开发
与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多线程程序的一个特例,该进程只包含一个线程)进程是 CPU 分配资源的最小单位,线程是操作系统调度执行的最小单位。
Ciderw
2 个月前
开发语言
·
c++
·
后端
·
golang
·
互斥锁
·
锁
Go中的三种锁
Go 语言提供了多种锁机制,用于在并发编程中保护共享资源。常见的锁包括 互斥锁、读写锁 和 sync.Map 的安全锁。
后端转全栈_小伵
3 个月前
java
·
后端
·
锁
·
lock
深入解析 JDK Lock:为什么必须在同一线程加锁和解锁?
在多线程编程中,锁是一种常用的机制,用于控制对共享资源的访问,防止竞态条件的出现。Java 中的 Lock 接口提供了比 synchronized 关键字更灵活的锁机制。我们通常会使用 Lock 来确保同一时刻只有一个线程能访问某个共享资源。但是,为什么 Lock 必须在同一个线程中加锁和解锁呢?
梦想blog
3 个月前
spring boot
·
分布式
·
后端
·
锁
Spring Boot + Redisson 封装分布式锁
目标:一行代码调用,简单粗暴。 基操:自动加锁,自动解锁,自动处理异常,自动处理锁超时等。redis + redisson
小小小妮子~
3 个月前
jvm
·
垃圾收集器
·
锁
·
虚拟机类加载机制
·
算法.....
Java虚拟机——JVM高级特性与最佳实践
初晴~
3 个月前
java
·
数据库
·
redis
·
分布式
·
后端
·
spring
·
锁
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
我们在上篇文章中实现了单机模式下的秒杀业务。其中采用了synchronized加锁来解决各种线程安全问题。而synchronized关键字是依赖于单机的JVM,在集群模式下,每个服务器都有独立的JVM,如果此时还采用synchronized关键字加锁,就会导致不同服务器间出现线程安全问题:
龙门吹雪
3 个月前
golang
·
面试题
·
map
·
channel
·
锁
GO语言基础面试题
1、使用 strconv 包中的函数 FormatInt 、ParseInt 等进行转换2、转换10进制的整形时,可以使用 strconv.Atoi、strconv.Itoa:
zfj321
3 个月前
数据库
·
乐观锁
·
锁
·
悲观锁
·
竞态条件
学技术学英文:代码中的锁:悲观锁和乐观锁
1. 举例说明加锁的场景:多线程并发情况下有资源竞争的时候,如果不加锁,会出现数据错误,举例说明:业务需求:账户余额>取款金额,才能取钱。
码农飞飞
4 个月前
rust
·
多线程
·
条件变量
·
并发
·
锁
·
线程同步
·
线程通信
详解Rust多线程编程
Rust多线程模型通过所有权系统和借用检查系统确保在多线程环境中,数据不会被多个线程同时修改,数据可以通过所有权转移或引用传递给不同的线程,从而避免数据竞争。
yang_shengy
4 个月前
java
·
开发语言
·
多线程
·
锁
【JavaEE】多线程(2)
线程是随机调度执行的,如果多线程环境下的程序运行的结果符合我们预期则说明线程安全,反之,如果遇到其他结果甚至引起了bug则说明线程不安全
Themberfue
5 个月前
java
·
开发语言
·
线程
·
多线程
·
synchronized
·
锁
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
· 在上一节的最后,我们讨论两个线程同时对一个变量累加所产生的现象· 在这一节中,我们将更加详细地解释这个现象背后发生的原因以及该如何解决这样类似的现象
W Y
5 个月前
架构
·
互斥锁
·
锁
·
读写锁
【架构-36】常见的各类锁的特点
萤火夜
5 个月前
linux
·
开发语言
·
c++
·
锁
Linux之线程同步和生产者消费者模型
先举个生活的例子, 现在假设有一个自习室, 一次只能进一个人, 现在我第一个拿到钥匙(申请锁)并进入自习室(临界区)自习, 此时如果我中途上厕所(线程切换), 由于锁还在我手上(锁保存在进程上下文中), 其它正在等待自习室位置的人是拿不到钥匙的. 这是线程互斥的概念.
水w
5 个月前
java
·
开发语言
·
redis
·
分布式
·
redisson
·
锁
详细分析Redisson分布式锁中的renewExpiration()方法
目录一、Redisson分布式锁的续期整体分析具体步骤和逻辑分析为什么需要递归调用?定时任务的生命周期?