非阻塞I/O 调用 fcntl() 设置文件描述符 O_NONBLOCK 标志,调用 read() 和 write() 不再阻塞,有可能会返回 -1 并设置 errno 为 EAGAIN。 记录锁(字节锁) 用于锁住文件的某一部分,支持读锁和写锁。由于锁信息 lockf_entry 和 v-node ...
分类:
其他好文 时间:
2017-05-27 21:51:10
阅读次数:
230
/** * * @描述: 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM自己控制的,可以同时读,但不能同时写 那就上读锁; * 如果你的代码只读数据,可以有很多人同时读,但不能同时写那就上读锁. * 如果你的代码修改数据,只能有一个人在写,且不能同时写,那就上写... ...
分类:
其他好文 时间:
2017-05-25 11:41:50
阅读次数:
162
乐观锁和悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁 ...
分类:
Web程序 时间:
2017-05-22 09:25:59
阅读次数:
184
一、事务的隔离级别 1.五种事务的隔离级别 ①读_未提交(read_uncommitted): 会出现脏读、不可重复读、幻读。(隔离级别最低,并发性能高) ②读_已提交(read_committed):会出现不可重复读、幻读。(锁定正在读取的行) ③重复读(repeatable_read):会出现幻 ...
分类:
其他好文 时间:
2017-05-20 00:07:24
阅读次数:
265
读写锁:多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥。即:读的时候不允许写,写的时候不允许读,可以同时读。 synchronized关键字和普通的Lock构造的锁,会造成读与读之间的互斥,因此读写锁可提高性能。 例子1:三个线程同时对一个共享数据进行读写。 1 import java.util.R ...
分类:
其他好文 时间:
2017-05-18 12:36:43
阅读次数:
305
当多个线程在并发的时候,难免会碰到相互冲突的事情,比如最经典的ATM机的问题,并发不可怕,可怕的是我们没有能力控制。 线程以我的理解可以分为三种 ① 锁。 ② 互斥。 ③ 信号。 好,这一篇主要整理“锁”,C#提供了2种手工控制的锁 一: Monitor类 这个算是实现锁机制的纯正类,在锁定的临界区 ...
分类:
编程语言 时间:
2017-05-12 17:35:28
阅读次数:
156
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2017-05-11 20:30:50
阅读次数:
142
共享锁(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 ...
分类:
其他好文 时间:
2017-05-08 12:33:36
阅读次数:
127
实例:备份:mysqldump -u root -p'123456' kaliboy>/opt/kaliboy.sql 指定字符集备份:mysqldump -u root -p'123456' --default-character-set=utf8 kaliboy>/opt/kaliboy.sql ...
分类:
数据库 时间:
2017-04-25 10:11:06
阅读次数:
341
ReadWriteLock管理一组锁,一个是只读的锁,一个是写锁。读锁可以在没有写锁的时候被多个线程同时持有,写锁是独占的。
所有读写锁的实现必须确保写操作对读操作的内存影响。换句话说,一个获得了读...
分类:
其他好文 时间:
2017-04-24 16:28:11
阅读次数:
179