ICode9

精准搜索请尝试: 精确搜索
  • 从零到一编码实现Redis分布式锁2021-12-09 14:00:43

    有的同学,就是这么尿性。也能理解,不自己弄一下,怎么能理解透彻,那就一起来搞一下呗! 使用场景和选型 分布式多节点的部署方式,使得共享变量有可能被同时操作,遇到有数据一致性要求的情况,就需要采取全局锁定的措施来保障并发操作下的一致性要求,如,库存扣减操作、同一个商品的上下架和更

  • nacos-012021-12-09 12:31:19

    nacos其实就是一个web springboot应用   端口一般是8848,HTTP形式的,客户端,消费端调用它的接口       写注册表和读注册表是分离的。 写注册表的时候,先复制一个副本出来,在高并发下,可以不用加锁了。 (13条消息) Nacos的服务注册表结构是怎样的?_Leon_Jinhai_Sun的博客-CSDN博客

  • 【Java并发】Java并发编程-022021-12-08 23:02:27

    1.Java并发包(JUC) Java核心库的包 并发包分类 Java.util.concurrency 锁机制类 Locks : Lock, Condition, ReadWriteLock 原子操作类 Atomic : AtomicInteger 线程池相关类 Executer : Future, Callable, Executor 信号量三组工具类 Tools : CountDownLatch, CyclicBarrie

  • synchronized 中的 4 个优化,你知道几个?2021-12-06 23:33:16

    synchronized 在 JDK 1.5 时性能是比较低的,然而在后续的版本中经过各种优化迭代,它的性能也得到了前所未有的提升, 上一篇中我们谈到了锁膨胀对 synchronized 性能的提升,然而它也只是“众多” synchronized 性能优化方案中的一种, 那么我们本文就来盘点一下 synchronized 的核心优化

  • 基于Redis实现分布式锁(二)2021-12-06 16:04:54

            扑街前言:上篇文章简单的说了一下Redis实现分布式锁的基本原理,本次来分析下Redis提供的分布式锁的源码。(认识自己是菜鸟的第十一天) RedissonClient:         我们先说结论,Redis本身提供的RedissonClient对象(客户端对象),这个对象的getlock()方法能获取一把锁对象,然

  • Java并发工具AbstractQueuedSynchronizer实现详解2021-12-06 14:33:47

    AbstractQueuedSynchronizer(以下简称AQS或AQS锁)是ReentrantLock的底层实现,它提供了自旋、FIFO线程等待队列和阻塞等功能。Java常见并发同步工具如Semaphore、CountDownLatch、ReentrantLock等都是基于AQS实现的。 AQS的实现要点总结如下: 1. 用一个原子int变量代表同步状态 AQS内

  • redis setnx 过期时间_Redis加锁的几种实现2021-12-04 12:01:28

    redis setnx 过期时间_Redis加锁的几种实现           我们经常在工作中会碰到一些重复请求、并发等问题,而给资源加锁是一种不错的手段。我们今天就整理下使用redis作为分布式锁的几种实现。 redis可以用于几个命令是:INCR、SETNX和SET。 1. 使用INCR加锁 这种

  • 分布式锁:Redisson源码解析-FairLock2021-12-04 11:32:58

    分布式锁:Redisson源码解析-FairLock 一、FairLock是什么核心概念代码实现提出问题加锁释放锁 二、源码解析初始化加锁Lua脚本剖析加锁的流程图加锁的场景图公平加锁中的特性排队加锁获取锁超时自动释放锁自动刷新超时时间 锁释放 一、FairLock是什么 前面的篇章中,我

  • MySQL锁机制2021-11-28 22:59:39

    MySQL支持的锁 从锁粒度上划分 表级锁行级锁(InnoDB存储引擎)页级锁(BDB存储引擎) 从锁操作上划分 从实现方式上划分 使用场景 修改表结构 修改数据库表结构会自动加表级锁(元数据锁) 行级锁升级表级锁 更新数据未使用索引行级锁会上升为表级锁 更新数据使用索

  • Linux线程同步:高速缓存2021-11-28 16:58:19

    一、线程同步的概念 线程同步?怎么同步?一起运行?一起停止?我当年听说线程同步这个词的时候,也是一头雾水。 在人们的日常生活中的锁大概有两种:一种是不允许访问;另一种是资源忙,同一时间只允许一个使用者占用,其它使用者必须要等待。 1)不允许访问的锁容易理解,就像每家每户的门锁,不允许

  • PHP实现对文件锁进行加锁2021-11-27 23:58:49

    在项目中,一般都用到日志,如数据库查询日志、访问日志、对外接口请求返回参数日志,在处理日志时简单的写法如下 1 2 3 4 5 6 7 $file = 'log.txt'; $fp = fopen($file, 'a+'); if(!is_writable($file)){   die("The $file is not writable!"); } fwrite($fp, 'here'); fclose($

  • java锁-Lock2021-11-26 23:01:02

    java锁-Lock 详细讨论java中Lock接口底层加锁原理和应用。 文章目录 java锁-Lock前言总结 前言 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • C语言 锁的使用总结2021-11-25 17:35:06

    1. C 互斥锁 mutex初始化与去初始化 #include <pthread.h>int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);int pthread_mutex_destroy(pthread_mutex_t *mutex);pthread_mutex_init 使用指定的attr属性初始化一个互斥锁mutex 。如果 atrr 设为

  • Mysql事务实现及与锁的关系2021-11-24 19:30:00

    本篇文章主要简单描述一下Mysql事务的实现方式,MVCC机制,以及分析在不同事务隔离级别下,一条sql会加什么样的锁,如表锁,行锁,共享锁,排他锁等 一、事务的四大特性(ACID) 1.原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚 2.一致性(Consistency)一致性是指事务必

  • MySQL008--MySQL锁的类型有哪些2021-11-24 08:31:06

    1、按照锁的粒度分类: 行级锁,表级锁,页级锁,记录锁,间隙锁,临键锁。 1.1 行级锁 (1)各种引擎使用的锁 1.MyISAM和MEMORY采用表级锁(table-level locking) 2.BDB采用页级锁(page-level locking)或表级锁,默认为页级锁 3.InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁 查

  • MySQL:介于普通读和锁定读的加锁方式,linux高性能服务器编程百度云2021-11-23 20:03:29

    INSERT INTO hero VALUES (1, ‘l刘备’, ‘蜀’), (3, ‘z诸葛亮’, ‘蜀’), (8, ‘c曹操’, ‘魏’), (15, ‘x荀彧’, ‘魏’), (20, ‘s孙权’, ‘吴’); 现在hero表中的记录情况就如下所示: mysql> SELECT * FROM hero; ±-------±-----------±--------+ | number | n

  • 扫盲篇2021-11-23 14:02:46

    共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据   共享锁(S锁) 又称为读锁,可以查看但无法修改和删除的一种数据锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排它锁。获准共享锁的事务只能读数据,不能修改数

  • python文件加锁模块之fcntl2021-11-22 16:04:42

    # 示例 import fcntl with open('./test.txt', 'w') as f: fcntl.flock(f, fcntl.LOCK_EX) # 对文件加锁,除加锁进程外其它进程没有对已加锁文件读写访问权限 # fcntl.flock(f, fcntl.LOCK_UN) # 解锁 # 常用参数 fcntl.LOCK_UN 解锁 fcntl.LOCK_EX 排他锁,除加锁进

  • java synchronized2021-11-21 21:01:49

    认识synchronized之前我们先看看其他的相关知识: 用户态与内核态 JDK早期,synchronized 叫做重量级锁(用户态), 因为申请锁资源必须通过kernel, 系统调用   CAS Compare And Swap (Compare And Exchange) / 自旋 / 自旋锁 / 无锁 (无重量锁)因为经常配合循环操作,直到完成为止,所以泛指一

  • MySQL事务和隔离机制2021-11-19 01:03:33

    MySQL事务和隔离机制 1. 事务 由一组相关的dml语句组成,该组dml语句要么全部成功,要么全部失败 1.1 事务作用 用于保证数据的一致性 1.2 事务和锁 当执行事务操作时,MySQL会在表上加锁,防止其他用户更改表中数据 1.3 事务操作 开始一个事务: START TRANSACTION 设置保存点: SAV

  • Synchronized学习2021-11-16 16:33:00

    1. 作用 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果 2. 地位 Synchronized是java的关键字,被java原生支持 是最基本的互斥同步手段 是并发编程中的元老级角色,是并发编程的必学内容 3. Synchronized的两个用法 对象锁 方法锁(默认锁对象为this当前

  • Redis 分布式锁没这么简单,网上大多数都有 bug2021-11-16 13:58:00

    Redis 分布式锁这个话题似乎烂大街了,不管你是面试还是工作,随处可见,「码哥」为啥还要写呢? 因为网上 99.99% 的文章都没有真正地把分布式锁说清楚,存在很多问题 bug。 今日,「码哥」就跟大家深入分布式锁的 G 点,系统地做一个写好代码掌握技巧的真男人。 在进入「高潮」之前,以下问题

  • 教你一招:基于Redis实现一个分布式锁2021-11-14 19:00:58

    与分布式锁相对应的是「单机锁」,我们在写多线程程序时,避免同时操作一个共享变量产生数据问题,通常会使用一把锁来「互斥」,以保证共享变量的正确性,其使用范围是在「同一个进程」中。 一、为什么需要分布式锁? 在开始讲分布式锁之前,有必要简单介绍一下,为什么需要分布式锁? 与

  • java自旋锁2021-11-14 12:02:22

    自旋锁(Spin lock) 自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是 否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。其作用是为了解决某项资源的互斥使用。因为自旋锁不会引起调用者睡眠,所以自

  • 17、多版本并发控制MVCC2021-11-12 19:32:56

    MySQL InnoDB存储引擎,实现的是基于多版本的并发控制协议——MVCC (Multi-Version Concurrency Control) (注:与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。MVCC最大的好处,相信也是耳熟能详:读不加锁,读写不冲突。在读多写少的OLTP应用中,读写不冲突是非常重要的,极

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有