信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。
一、信号量的分类:
在学习信号量之前,我们必须先知道——Linux提供两种信号量:
(1) 内核信号量,由内核控制路径使用。
(2) 用户态进程使用的信号量,这种信号量又分为POSI...
分类:
系统相关 时间:
2014-07-26 02:16:06
阅读次数:
303
1
复位应答(Answer to request)
读写器呼叫磁场内的卡片,卡片对呼叫做出应答。对刚进入磁场得到电复位处于休闲状态的卡片,卡请求(REQA,0x26);对于已进行过读写操作并进入休眠状态的卡片,卡唤醒(WAKE-UP,0x52)。其中卡请求(REQA)只能呼叫处于休闲(Idle)状态的卡片,卡唤醒(WAKE-UP)可以呼叫所有卡片,包括处于休眠(Halt)和休闲状...
分类:
其他好文 时间:
2014-07-24 23:35:43
阅读次数:
373
基于服务器的计时器(System.Timers.Timer)
System.Timers.Timer不依赖窗体,是从线程池唤醒线程,是传统的计时器为了在服务器环境上运行而优化后的更新版本
在VS2005的工具箱中没有提供现成的控件,需要手工编码使用此计时器。
using System;
using System.Collections.Generic;
usi...
分类:
其他好文 时间:
2014-07-24 23:19:53
阅读次数:
255
package多线程;
publicclassThreadcommunicateSafe1{
publicstaticvoidmain(String[]args){
Info3mess=newInfo3();
Input3in=newInput3(mess);
Output3out=newOutput3(mess);
newThread(in).start();
newThread(out).start();
}
}
//1,等待唤醒机制实现Input线..
分类:
编程语言 时间:
2014-07-21 12:21:24
阅读次数:
228
登录注册首页热门话题最新发布简单模式详细模式dsdt解决睡眠唤醒死机Leave a reply首先,感谢x5115x提供了一个相对比较完整的THINKPAD T410在MAC下的DSDT修改的详细教程!使得很多略有程序代码经验的T410使用者能够自己动手修改DSDT。在x5115x的帖子中,提到了以...
分类:
其他好文 时间:
2014-07-19 23:09:42
阅读次数:
598
来阿里实习三个星期了,跟着师傅每天都能学到好多东西,重新唤醒了对很多方面的学习兴趣,发现既使很细小的方面,在师傅的指引下,还是有很多东西可挖。叹息自己以前都是浅尝辄止,好多知识点知而不精,几乎不能做有用工作。师傅说:对一个问题,比如乱码,应该在深度和广度上去挖。不然在这个场景下乱码问题解决了,到下个...
分类:
其他好文 时间:
2014-07-19 21:25:53
阅读次数:
182
主要用途:保护临界资源二值信号灯:最大为1计数信号灯:多进程可访问。减1操作。等待自动唤醒。信号量的集合#include#include#include创建/打开int semget(key_t key,int nsems,int semflg)key:键值,由ftok获得。nsems:指定打开或者...
分类:
系统相关 时间:
2014-07-16 12:44:25
阅读次数:
256
Object 有提供 三个重构的wait、一个notify、一个notifAll 。 都是线程或者说多线程,相关的。Wait()方法,使当前获得指定对象锁的线程阻塞并释放锁。 ————我很好奇,为什么要阻塞,然后又释放呢?Notify、NotifyAll 使当前没有获得指定对象锁的线程唤醒。方法调用...
分类:
编程语言 时间:
2014-07-14 21:31:55
阅读次数:
337
在WWDC大会中发布了Swift让人眼前一亮。终于加了很多的现代编程语言该有的东西。很早年以前玩C#3.0+的时候这些差不多类似的已经用的烂熟的东西终于一点一点的在看Swift Programming Language的时候再唤醒。Swift较之于OC(Objective-C)在愈发上几乎是一门新的...
分类:
其他好文 时间:
2014-07-14 20:32:04
阅读次数:
285
DOWN操作:linux内核中,对信号量的DOWN操作有如下几种:
void down(struct semaphore *sem); //不可中断
int down_interruptible(struct semaphore *sem);//可中断
int down_killable(struct semaphore *sem);//睡眠的进程可以因为受到致命信号而被唤醒,中断获取信号量...
分类:
其他好文 时间:
2014-07-13 16:21:36
阅读次数:
501