本文出自 “旋木的技术博客” 博客,请务必保留此出处http://mrxiong.blog.51cto.com/287318/1651098一.数值类型Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数...
分类:
数据库 时间:
2015-10-13 22:37:38
阅读次数:
214
KeInitializeSpinLock 初始化自旋锁KeAcquireSpinLock 申请自旋锁KeReleaseSpinLock 释放自旋锁如果在DISPATCH_LEVEL 级别申请自旋锁,不会改变IRQL级别。这时,申请自旋锁可以简单的使用KeAcquireSpinLockAt...
分类:
其他好文 时间:
2015-09-21 15:41:37
阅读次数:
128
自旋(spin)是一种通过不间断地测试来查看一个资源是否变为可用状态的等待操作,用于仅需要等待很短的时间等待所需资源的场景。使用自旋这种“空闲循环(busy-loop)”来完成资源等待的方式要比通过上下文切换使线程转入睡眠状态的方式要高效得多。但如果自旋了一个很短的时间后其依然无法获取资源,则仍然会...
分类:
数据库 时间:
2015-09-15 12:44:09
阅读次数:
375
读写自旋锁1:什么是自旋锁?自旋锁就是互斥的同步原语,试图进入临界区的线程只用忙等的方式检测锁的状态。如果检测到锁未被持有,则进入临界区。因为采用忙等的方式,所以自旋锁必须是锁住很小的一块儿代码,并且很短的时间片。2:读写自旋锁?有些线程在临界区内只是简单的读取一些信息,不会涉及到信息的修改,允许读...
分类:
其他好文 时间:
2015-09-11 10:36:03
阅读次数:
191
产生竞态的情况:(1)对称多处理器(SMP)的多个CPU(2)单CPU的进程与抢占它的进程(3)中断与进程之间解决竞态途径:互斥访问临界区:访问共享资源的代码区互斥途径:中断屏蔽、原子操作、自旋锁、信号量、互斥体中断屏蔽local_irq_disable() /*屏蔽中断*/ ...critical...
分类:
系统相关 时间:
2015-09-07 19:34:58
阅读次数:
334
1.阻塞式IO:套接字默认是阻塞式的,该模型会一直阻塞在系统调用上,直到数据到达内核区并且完成从内核区到用户进程区的数据拷贝。
2.非阻塞式IO:该模型将套接字的状态设置为非阻塞,会一直轮询套接字的状态,直到数据到达内核区并且完成内核区到用户区的数据拷贝,个人感觉类似于linux下的自旋锁。
3.IO复用:该模型通常阻塞在select/poll系统调用,当内核区数据到达时,select系统调用...
分类:
其他好文 时间:
2015-08-18 10:16:15
阅读次数:
112
代码:#import #import extern uint64_t dispatch_benchmark(size_t count, void (^block)(void));// pthread_mutex_lockvoid dispatch_once_pthread(dispatch_once...
分类:
其他好文 时间:
2015-08-16 18:10:39
阅读次数:
180
1、原子操作,是其它同步方法的基础。2、自旋锁,线程试图获取一个已经被别人持有的自旋锁,当前线程处于忙等待,占用cpu资源。3、读写自旋锁,根据通用性和针对性的特点,普通自旋锁在特定场景下的表现会退化。因此,提供了读写自旋锁,读锁可以加读锁,不能加写锁,写锁不能加任何锁。4、需要注意的几项: 普通....
分类:
系统相关 时间:
2015-08-13 21:43:15
阅读次数:
265
代码:#import "ViewController.h"extern uint64_t dispatch_benchmark(size_t count, void (^block)(void));@interface ViewController ()// 原子属性 - 互斥锁实现@propert...
分类:
其他好文 时间:
2015-08-11 13:48:08
阅读次数:
190