码迷,mamicode.com
首页 >  
搜索关键字:加锁    ( 2232个结果
Java锁
1. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁; 但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新), 如果失败则要重复读-比较-写 ...
分类:编程语言   时间:2020-03-21 18:23:07    阅读次数:63
Spring JPA save 实现主键重复抛异常
Introduction 先说说要做的功能 希望用数据库的 duplicate primary key 来实现一个简易的锁功能,加锁成功与否取决于是否成功 insert,此时必须要明确的执行 insert sql,而不是 update sql 本文以一个简单地订单锁作为例子,数据库字段信息如下: c ...
分类:编程语言   时间:2020-03-20 22:32:25    阅读次数:98
【分布式锁】02-使用Redisson实现公平锁原理
前言 前面分析了Redisson可重入锁的原理,主要是通过lua脚本加锁及设置过期时间来保证锁执行的原子性,然后每个线程获取锁会将获取锁的次数+1,释放锁会将当前锁次数-1,如果为0则表示释放锁成功。 可重入原理和JDK中的可重入锁都是一致的。 Redisson公平锁原理 JDK中也有公平锁和非公平 ...
分类:其他好文   时间:2020-03-20 12:31:11    阅读次数:68
MySQL优化(7):其他注意事项
DDL执行 线上服务器执行DDL,更新表结构,需要谨慎,结构更改会导致全表被独占锁定(新版本有改善) 避免这种情况,使用COPY策略,而不是直接执行ALTER TABLE语句 思路:创建一个新表,满足新要求,将旧表数据逐条导入新表,同时表上可以执行其他任务,导入的过程其他任务都记录在日志,导入完成后 ...
分类:数据库   时间:2020-03-18 20:15:58    阅读次数:73
(二十八)加锁
django 要加锁 必须先加事物 例子 from rest_framework import exceptionsfrom django.db import transaction def perform_create(self, serializer): with transaction.ato ...
分类:其他好文   时间:2020-03-17 23:53:11    阅读次数:97
HashMap底层源码与实现逻辑
ConcurrentHashMap性能高于HashTable,都能够完成线程安全操作, Hashtable中线程安全使用synchronized同步方法进行加锁操作,如果当前一个线程正在访问该集合,其他线程是无法进行访问的,需要进行等待反之ConcurrentHashMap当中采用分段锁机制 JDK ...
分类:其他好文   时间:2020-03-17 19:45:59    阅读次数:59
数据库的事务隔离级别
[TOC] 丢失更新 :两个事务同时更新一行数据,最后一个事务的更新会覆盖掉第一个事务的更新,从而导致第一个事务更新的数据丢失,这是由于没有加锁造成的 1 脏读 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数 ...
分类:数据库   时间:2020-03-17 19:25:40    阅读次数:63
Map-CurrentHashMap
一、数据结构 同HashMap,数组+链表+红黑树,关键属性也和HashMap相同 ConCurrentHashMap支持高并发的访问和更新,它是线程安全的 检索操作不用加锁,get方法是非阻塞的 key和value都不允许为null 二、spread() //高低16位异或处理static fin ...
分类:其他好文   时间:2020-03-15 20:48:53    阅读次数:72
List单列集合
1.Vector和ArrayList以及LinkedList区别和联系,以及分别的应用场景 线程安全 Vector:与ArrayList一样,也是通过数组实现的,不同的它支持线程的同步,底层采用synchronized同步方法进行加锁,所以线程安全;即某一时刻只有一个线程能够写Vector,避免多线 ...
分类:其他好文   时间:2020-03-15 18:57:38    阅读次数:69
ThreadPoolExecutor分析
1 ThreadPoolExecutor 1.1 常见参数 1.1.1 线程池参数 1.1.2 核心参数ctl 1.1.3 关于mainLock 字段主要是为了保证工作线程池字段 在多线程并发情况下的访问。至于 为何使用 而非使用安全的 ,原因如下所示: 使用 加锁操作会让操作按照顺序一个一个执行。 ...
分类:其他好文   时间:2020-03-15 16:21:26    阅读次数:63
2232条   上一页 1 ... 21 22 23 24 25 ... 224 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!