自旋锁(Spinlock)是一种 Linux 内核中广泛运用的底层同步机制。自旋锁是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态,而是忙等待该锁,一旦锁被释放,则第一个感知此信息的线程将获得锁。...
分类:
其他好文 时间:
2014-11-11 21:09:31
阅读次数:
316
用户进程,在用户态可以被直接 kill 。
用户进程陷入内核,在内核态进入死循环:
1. 循环体中有 msleep_interruptible ,进程状态为S,即可中断的睡眠状态,kill 命令不能杀死进程。
2. 循环体中有 msleep ,进程状态为D,即不可中断的睡眠状态,kill 命令不能杀死进程。
3. 循环体中无 sleep ,进程状态为R,即可执行状态,kill 命令不能杀死...
分类:
其他好文 时间:
2014-11-11 16:46:08
阅读次数:
220
本文大部分内容转自http://www.cnblogs.com/yydcdut/p/3890893.html
1.Java线程池基本原理
线程池基本原理是:系统先启动若干数量的线程,并让这些线程处于睡眠状态,当有新任务时,就会唤醒线程池中的某一个睡眠线程,让它来处理这个任务。当处理完这个任务后,线程又处于睡眠状态。
Java 中,线程池的主要组成部分是工作者线程,这种类型的线程独立于它执行的...
分类:
编程语言 时间:
2014-08-13 18:48:37
阅读次数:
320
说明
Java中,线程之间的通信主要是由java.lang.Object类提供的wait、notify和notifyAll这3个方法来完成:
①对象的wait方法被调用后,线程进入对象的等待队列中,并释放对象锁,其它线程可以竞争使用此对象锁;sleep方法使得一个线程进入睡眠状态,但是线程所占有的资源并没有释放。
②当对象的notify方法被调用,该方法会从对象的等待队列中随机取出一个线...
分类:
编程语言 时间:
2014-08-13 13:05:56
阅读次数:
270
开车的朋友一定深有体会,驾驶汽车其实就是在不断矫正汽车行驶方向的一个过程。在整个驾驶过程中,你必须全神贯注地紧盯前方,通过方向盘不断矫正方向,否则即使行驶在直线路段也可能偏离车道。那些疲劳驾驶的司机,因为进入睡眠状态,无法再矫正方向,车辆就会越来越偏离航向。这种情况下,即使数秒钟的小盹,也能造成车毁人亡的严重后果。
重构与驾车虽然属于完全不同的领域,但其道理是相同的。...
分类:
其他好文 时间:
2014-08-10 15:47:40
阅读次数:
186
开车的朋友一定深有体会,驾驶汽车其实就是在不断矫正汽车行驶方向的一个过程。在整个驾驶过程中,你必须全神贯注地紧盯前方,通过方向盘不断矫正方向,否则即使行驶在直线路段也可能偏离车道。那些疲劳驾驶的司机,因为进入睡眠状态,无法再矫正方向,车辆就会越来越偏离航向。这种情况下,即使数秒钟的小盹,也能造成车毁...
分类:
其他好文 时间:
2014-08-10 15:36:10
阅读次数:
160
一:runtime机制说明
何为runtime机制?也就是系统在非睡眠状态,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制,非空闲时执行runtime resume使得设备进入正常工作状态。
主要代码放在Runtime.c (drivers\base\power)中,同时附带的Runtime_pm.txt (documentati...
分类:
系统相关 时间:
2014-07-24 23:07:44
阅读次数:
1029
生产者:不停地往队列中放数据
消费者:不停地从队列中拿数据
两者通过两个信号量同步
当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态,这时候pthread_join也会一直挂着的。该怎样使得消费者正常退出呢?
我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,如果这个数据是结束标识则自杀退出。...
分类:
编程语言 时间:
2014-06-25 00:07:17
阅读次数:
225
MediaPlayer的唤醒锁
一般使用MediaPlayer播放音频流,推荐使用一个Service来承载MediaPlayer,而不是直接在Activity里使用。但是Android系统的功耗设计里,为了节约电池消耗,如果设备处于睡眠状态,系统将试图降低或者关闭一些没设备必须的特性,包括CUP和Wifi硬件,然后,如果是一个后台播放音乐的应用,降低CUP可能导致在后台运行的时候干扰...
分类:
移动开发 时间:
2014-06-10 17:34:27
阅读次数:
244
VMware方案中母版盘优化在具备SSD盘的局点,桌面母盘(replica盘)采用高性能SSD存储,以提高整个桌面池的使用性能。一个母盘对应不超过64个虚拟机(即一个桌面池不超过64个虚拟机)。磁盘RAID优化虚拟机母版盘、操作系统盘、linux文件服务器均采用RAID0+1技术,NAS文件服务器采..
分类:
其他好文 时间:
2014-05-10 04:16:14
阅读次数:
362