摘要: 信号量 程序中存在一部分临界代码,要确保只有一个进程(或一个执行线程)可以进入临界区代码,并拥有对资源的独占式访问权 我们需要一种方法,通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域 这里讲的信号量比在线程的调用中使用的互斥量和信号量更加通用 P:等待,好像位于进入临界区域 阅读全文
posted @ 2015-07-04 09:56 kongchung 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 一个进程连接数据流到另一个进程--管道--pipe进程管道 popen函数允许一个程序将另一个程序作为新进程来启动并可以传递数据给它或者通过它接收数据command是要运行的程序名和相应的参数open_mode必须是r或者是wr的情况是:被调用程序的输出可以由调用程序使用,调用程序可以利用流指针通过 阅读全文
posted @ 2015-07-01 17:07 kongchung 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 例如主线程继续为用户提供服务的同时创建第二个线程这个线程的作用是将用户正在编辑的数据进行备份存储那么备份结束之后第二个线程就可以字节终止没必要再回到主线程中区称这样的线程为脱离线程,可以通过修改属性或者调用pthread_detach的方法来创建这里我们从属性的角度研究脱离线程1 #include ... 阅读全文
posted @ 2015-06-30 20:48 kongchung 阅读(627) 评论(0) 推荐(0) 编辑
摘要: 在一个程序中的多个执行路线叫做线程线程是一个进程内部的一个控制序列当进程执行fork调用时,创建出该进程的一份新的拷贝,这个新的进程拥有自己的变量和pid时间调度是独立的,执行也几乎是独立的。当进程创建一个新的线程的时候,新的执行线程将有自己的栈,但是和创建者共享局部变量,文件描述符,信号句柄和当前... 阅读全文
posted @ 2015-06-30 13:07 kongchung 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 信号是某些错误条件而引起由shell和终端管理器生成的signal可以作为进程间传递消息或者修改行为的一种方式,明确的由一个进程传递给另外一个进程信号可以被生成,捕获,响应,或者忽略。程序可以使用signal库函数来处理信号1 #include 2 void (* signal (int sig, ... 阅读全文
posted @ 2015-06-29 17:11 kongchung 阅读(538) 评论(0) 推荐(0) 编辑