python的锁可以独立提取出来 概念 好几个人问我给资源加锁是怎么回事,其实并不是给资源加锁, 而是用锁去锁定资源,你可以定义多个锁, 像下面的代码, 当你需要独占某一资源时,任何一个锁都可以锁这个资源 就好比你用不同的锁都可以把相同的一个门锁住是一个道理 线程不安全: 最普通的一个多线程小例子。 ...
分类:
编程语言 时间:
2016-03-29 22:24:45
阅读次数:
161
前几日,调试一BUG,过程先不说,最后调试到MM,即Debug dcu,然后进入到GetMem.inc中的Get/FreeMem函数处后,出现AV。 然后一通找。。。郁闷了N天,后来发现将MM切换到QMM后,一切正常,然后再切回原MM,BUG出现。。。 按经验,此类问题一般由于线程未有锁保护引起,但 ...
分类:
编程语言 时间:
2016-03-27 21:16:03
阅读次数:
1366
Lock是一个接口,提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有加锁和解锁的方法都是显式的。 包路径是:java.util.concurrent.locks.Lock 核心方法是lock()、unlock()、tryLock() 实现类有ReentrantLock、ReentrantR ...
分类:
编程语言 时间:
2016-03-24 20:10:12
阅读次数:
320
Java 线程同步根本上是要符合一个逻辑:加锁 >修改 >释放锁 1、同步代码块 示例如下: 示例中希望按照顺序依次输出整数。 通常同步代码块是需要锁定的对象,一般是需要并发访问的共享资源,任何线程在修改指定资源之前都首先对该资源加锁,在加锁期间其它线程无法修改该资源。从而保证了线程的安全性。另外线 ...
分类:
编程语言 时间:
2016-03-23 23:40:02
阅读次数:
211
一、NSThread优缺点 优点:NSThread是最轻量级的 缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销 二、NSThread的使用 创建线程: + (void)detachNewThreadSelector:(SEL)selector toTarget:(
分类:
编程语言 时间:
2016-03-23 00:52:00
阅读次数:
262
synchronized Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块
分类:
编程语言 时间:
2016-03-20 09:18:50
阅读次数:
594
NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁。 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“脏数据”。 HOLDLOCK(保持锁) 此选项被选中时,SQL Se
分类:
数据库 时间:
2016-03-18 17:37:42
阅读次数:
223
链接地址:http://hedengcheng.com/?p=771 1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2PL:Two-Phase Locking 3 1.4 Isolation
分类:
数据库 时间:
2016-03-18 10:46:10
阅读次数:
270
1 背景 1 1.1 MVCC:Snapshot Read vs Current Read 2 1.2 Cluster Index:聚簇索引 3 1.3 2PL:Two-Phase Locking 3 1.4 Isolation Level 4 2 一条简单SQL的加锁实现分析 5 2.1 组合一:
分类:
数据库 时间:
2016-03-16 20:47:31
阅读次数:
234
一、mysql的并发控制当有多个查询需要同时修改同一个数据,就会产生并发控制的问题。mysql可以在两个层面进行并发控制:服务器层和存储引擎层。mysql通过加锁实现并发控制:⑴锁有两类:读锁:共享锁,即一个读锁不会阻塞其它读锁,多个用户可同时读取同一个资源,而不互相干扰..
分类:
数据库 时间:
2016-03-13 06:41:22
阅读次数:
254