摘要: 1、创建线程#includeint pthread_create(pthread_t* tidp,const pthread_attr_t *attr,void*(*start_rtn)(void),void*arg)tidp:线程idattr:线程属性(通常为空)start_rtn:线程要执行的函... 阅读全文
posted @ 2014-07-16 12:04 liu_ty10 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 一、线程理论基础使用线程原因:1、比进程更加节俭。线程是轻量级的。进程:代码共享,数据拷贝。线程所有都是共享的。2、通信简单很多3、多线程程序是一种多任务、并发的工作机制。还有如下优点:使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同线程运行于不同的CPU上。改善程序结构:一个... 阅读全文
posted @ 2014-07-16 11:44 liu_ty10 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 主要用途:保护临界资源二值信号灯:最大为1计数信号灯:多进程可访问。减1操作。等待自动唤醒。信号量的集合#include#include#include创建/打开int semget(key_t key,int nsems,int semflg)key:键值,由ftok获得。nsems:指定打开或者... 阅读全文
posted @ 2014-07-16 11:32 liu_ty10 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 人物小结:纽约州立大学获得计算机科学硕士和博士学位,美国国家工程研究院和国家科学研究院成员约翰·亨尼斯(John Hennessy)简介: 约翰·亨尼斯(John Hennessy),美国加州大学伯克利分校计算机系Patterson教授和斯坦福大学计算机系Hennesssy教授是现今计算... 阅读全文
posted @ 2014-07-16 10:26 liu_ty10 阅读(3348) 评论(0) 推荐(0) 编辑
摘要: 一、概述信号通信能够传送信息量有限;管道通信则只能传送无格式的字节流。消息队列(报文队列):就是一个消息的链表。消息是具有特定格式的记录。分类:POSIX消息队列:系统V消息队列:目前被大量使用持续性系统V消息队列是随内核持续的。只有在内核重启或者人工删除时,该消息队列才会被删除。键值:消息队列在内... 阅读全文
posted @ 2014-07-14 22:21 liu_ty10 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入了数据,共享这个内存区域的所有进程就可以立即看到其中的内容。共享内存实现分为连个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去... 阅读全文
posted @ 2014-07-14 11:58 liu_ty10 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 信号(signal)机制是Unix系统中最为古老的进程间通信机制,很多条件下可以产生一个信号:1、用户按某些按键时,产生信号。2、硬件异常信号:除数为0,无效的存储访问等。3、进程利用kill函数,将信号发送给另一个进程。4、用户利用kill命令将信号发送给其他进程。信号类型:常用类型:SIGHUP... 阅读全文
posted @ 2014-07-14 11:49 liu_ty10 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 一、无命名管道1、什么是管道管道是单向、先进先出的,把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道尾部写入数据,另一个进程(读进程)在管道头部读出数据。2、管道创建无名管道:(只)父进程与子进程间的通信。 有名管道:同一系统中任意两个进程间的通信。无名管道由pipe()函数创... 阅读全文
posted @ 2014-07-13 17:48 liu_ty10 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 一、进程间通信概述:1、目的:为什么要进行进程间通信?1)数据传输:一个进程需要把他的数据发送给另一个进程。2)资源共享:协调共享资源。3)通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件。4)进程控制2、发展Linux进程间通信(IPC)由以下几部分发展而来:1)UNIX进... 阅读全文
posted @ 2014-07-13 17:25 liu_ty10 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 一、获取ID#include#includepid_t getpid(void) 获取本进程IDpid_t getppid(void) 获取父进程ID父进程:现有进程中,创建新的进程。例:getpid.c#include#include#includeint main(){ printf("PI... 阅读全文
posted @ 2014-07-13 16:09 liu_ty10 阅读(1295) 评论(0) 推荐(0) 编辑