1. myisam跟memory支持表级别锁定 BDB 页级锁定 Innodb 行级锁定 2.表锁(不是表嫂哈) lock table read //只读表锁,也就是说执行了这个锁后,锁内的操作只能为读操作 select * from ..... unlock...
分类:
数据库 时间:
2014-07-12 13:07:29
阅读次数:
218
题目的大意:
一个密码锁上有编号为1到N的N个字母,每个字母可以取26个小写英文字母中的一个。再给你M个区间[L,M],表示该区间的字母可以一起同步“增加”(从'a'变为'b'为增1,'z'增1为'a')。假如一组密码按照给定的区间进行有限次的“增加”操作后可以变成另一组密码,那么我们认为这两组密码是相同的。该题的目标就是在给定N、M和M个区间的前提下计算有多少种不同的密码。...
分类:
其他好文 时间:
2014-07-10 23:12:54
阅读次数:
236
旧事重提了,或许很多人会奇怪,为什么 C# 不允许lock一个struct ? 例如:public void ProcessTask(int taskid){ lock(taskid){ ..... }}编译说lock只能使用引用类型。有些人聪明(我想我以前也有这样的"聪明"。。),这样做: loc...
分类:
其他好文 时间:
2014-07-09 17:28:13
阅读次数:
191
ReentrantLock 一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。这个类主要基于AQS(AbstractOwnableSynchronizer)封装的 公平与非公平锁。所谓公平锁就是指在多个线程的争...
分类:
编程语言 时间:
2014-07-09 14:31:42
阅读次数:
306
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。...
分类:
其他好文 时间:
2014-07-09 13:08:13
阅读次数:
138
weak_ptr是对对象的一种弱引用,它不会增加对象的引用计数。weak_ptr和shared_ptr之间可以相互转换,shared_ptr可以直接赋值给week_ptr,week_ptr可通过调用lock函数来获得shared_ptr(如果对象已经被释放,则返回一个空的shared_ptr)。
单纯使用shared_ptr有时会产生问题,考虑下面的代码:
1 class...
分类:
编程语言 时间:
2014-07-08 17:10:39
阅读次数:
289
使用mysqldump备份时,如果存储引擎为MyISAM,则只能实现温备份,并需使用选项--lock-all-tables锁定所有表。如果存储引擎为InnoDB,则加上--single-transaction选项,可以实现热备。使用mysqldump进行逻辑备份,还存在如下问题:浮点数据丢失精度;备...
分类:
数据库 时间:
2014-07-08 15:44:46
阅读次数:
292
对于ASP.NET本身来讲,是基于IIS应用程序池,有些时候会碰到多用户需要操作同一个全局变量的问题,那么就会有多线程并发访问的问题。在这里仅介绍使用lock来对用户的操作进行加锁保证变量在同一时刻仅仅有一个线程进行访问,从而保证数据一致性。 示例代码如下:public class BUAPr...
分类:
编程语言 时间:
2014-07-08 00:54:31
阅读次数:
357
本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-07-05 17:44:12
阅读次数:
155