码迷,mamicode.com
首页 >  
搜索关键字:加锁    ( 2232个结果
共享锁(S锁)和排它锁(X锁)
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A, ...
分类:其他好文   时间:2018-04-18 14:23:26    阅读次数:190
Linux进程间通信---信号量
信号量是一个计数器,通常在内核中实现,用于多个进程对共享数据对象的同步访问。使用信号量的头文件是#include <sys/sem.h> 信号量的使用规则: 若信号量为正,则进程可使用该资源。 若信号量为0,则进程阻塞等待,并将进程插入等待队列,直到该信号量的值大于0从等待队列中执行进程请求。 加锁 ...
分类:系统相关   时间:2018-04-17 21:21:30    阅读次数:226
MySQL Innodb 中的锁
MySQL Innodb 中的锁 锁是用来解决并发冲突的必要手段,MySQL 中的并发主要是指多个线程同时对同一个数据库进行操作,其中不同线程可能代表不同的事务,本质上也就是对共享资源的不同事务的同时访问。 Innodb 支持行级锁和意向锁。行级锁就是对行记录进行加锁,行级锁也分为两种类型,一种是共 ...
分类:数据库   时间:2018-04-17 19:48:13    阅读次数:203
多线程系列1:经典卖票
1.卖票的方法 class TicketRest { int ticket = 1; int Max = 0; public TicketRest(int max) { Max = max; } /// <summary> /// 未加锁 /// </summary> /// <param name ...
分类:编程语言   时间:2018-04-17 00:02:27    阅读次数:194
MySQL锁机制
本文参考自MySQL官网5.6版本参考手册的14.5.1,此小节说明MySQL的锁分类,此外还有14.5.2小节和14.5.3小节详述事务隔离级别和各SQL语句的加锁模式,后两节将单独写2篇笔记。 https://dev.mysql.com/doc/refman/5.6/en/innodb-lock ...
分类:数据库   时间:2018-04-16 10:18:33    阅读次数:174
InnoDB MVCC实现原理及源码解析
1、原理介绍数据多版本(MVCC)是MySQL实现高性能的一个主要的一个主要方式,通过对普通的SELECT不加锁,直接利用MVCC读取指版本的值,避免了对数据重复加锁的过程。InnoDB支持MVCC多版本,其中RC和RR隔离级别是利用consistentreadview方式支持的,即在某个时刻对事物系统打快照记下所有活跃读写事务ID,之后读操作根据事务ID与快照中的事务ID进行比较,判断可见性。2
分类:数据库   时间:2018-04-15 16:18:04    阅读次数:185
让程序最多只能有一个实例在运行(文件独占)
通过文件独占的方式,我们打开指定的文件后,用 lockf 对文件加锁,结束程序时解锁文件。 下面代码中我们将当前程序的 PID 写入文件。 cpp int writePidFile(const char pidFile) { char str[32]; int fd = open(pidFile, ...
分类:其他好文   时间:2018-04-15 11:48:46    阅读次数:126
AQS源码阅读笔记(一)
AQS源码阅读笔记 先看下这个类张非常重要的一个静态内部类Node。如下: 接着,我们再来看看AQS中的字段: 其中, node和tail分别表示头结点和尾节点,这两个字段是用来的保证同步队列原子入(出)队操作(具体后续在分析具体的实现类中说)。 state在此处可以简单理解为加锁的次数(每次加锁, ...
分类:其他好文   时间:2018-04-12 23:32:06    阅读次数:203
单例模式的实现——延迟初始化占位类替代双重检验加锁以达到延迟初始化和线程安全的目的。
package org.test; public class Singleton { public static void main(String[] args) { // TODO Auto-generated method stub Singleton singleton=Singleton.g... ...
分类:编程语言   时间:2018-04-12 22:31:09    阅读次数:309
Mysql锁机制和事务隔离级别
MyISAM锁机制: MyISAM只有表锁,分为X和S锁两种(或者叫read lock,write lock)。读加S锁,写加X锁。互相阻塞,因此并发DML性能并不好。 InnoDB锁机制: lock table/tables tab_name read/write; --手动加锁语句:(同样适用于 ...
分类:数据库   时间:2018-04-10 15:13:03    阅读次数:242
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!