摘要: 多线程同步 一、什么是同步 多个线程按照规定的顺序来执行,即为线程同步。 1.1线程同步方式一 通过互斥锁的方式实现线程同步,可以实现但是执行效率比较低(sync.c) 1.2线程同步方式二 使用条件变量,可以使CPU利用率提高(sync1.c) 1.3条件变量 初始化: pthread_cond_ 阅读全文
posted @ 2016-03-22 10:50 for_learning 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 多线程程序设计 一、什么是线程 1.线程就是“轻量级”的进程。 2.线程与创建它的进程共享代码段,数据段。 3.线程拥有自己独立的栈。 二、函数学习 1创建线程 1).函数名 pthread_create 2).函数原型 int pthread_create(pthread_t *thread, c 阅读全文
posted @ 2016-03-22 10:42 for_learning 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 消息队列通信 消息队列就是一个消息(一个结构)的链表。而一条消息则可看作一个记录,具有特定的格式。进程可以从中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。 每一个消息都是一个结构体: struct msgbuf{ long mtype; //表示结构体类型,来区分不同的消息 ch 阅读全文
posted @ 2016-03-22 10:32 for_learning 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 共享内存同行 一、共享内存概念 共享内存是IPC机制中的一种,它允许两个不相关的进程访问同一段内存, 这是传递数据的一种非常有效的方式。 二、函数学习 这里主要有创建共享内存、映射共享内存、分离共享内存、控制共享内存 2.1创建/打开共享内存 1).函数名 shmget 2).函数原型 int sh 阅读全文
posted @ 2016-03-22 10:18 for_learning 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 信号量进程同步 一组并发进程进行互相合作、互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步。 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的两个进程生产到消费有序的完成。就是说必须等到生产完全完场才能,让消费执行。 下面进入编程语言编程学习 阅读全文
posted @ 2016-03-21 19:01 for_learning 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 信号量互斥 信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源(进程互斥)。进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。 一、信号量分类 二值信号灯:信号灯的值只能取0或1 计数信号灯:信号灯的值可以取任意非负值。 二、函数学习 2.1创 阅读全文
posted @ 2016-03-21 17:46 for_learning 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 信号通讯编程 在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制。 一、信号类型 Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止或 阅读全文
posted @ 2016-03-21 17:39 for_learning 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 管道通信 一、通讯目的 1、数据传输 一个进程需要将数据发送给另一个进程。 2、资源共享 多个进程之间共享同样的资源。 3、通知事件 一个进程需要向另一个/组进程发送消息,通知它们发生了某事件。 4、进程控制 有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进 阅读全文
posted @ 2016-03-21 17:33 for_learning 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 多进程程序设计 一、函数学习 1.1 创建进程fork 1.1.1 函数原形 pid_t fork(void); 1.1.2 函数功能 创建一个子进程 1.1.3 所属头文件 <unistd.h> 1.1.4 返回值 成功:父进程返回创建成功的子进程pid子进程返回 0 失败:父进程返回 1.1.5 阅读全文
posted @ 2016-03-21 17:25 for_learning 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 进程控制理论 一、进程 进程是一个具有一定独立功能程序的一次运行活动。 1.1进程特点 1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的 2.并发性:任何进程都可以同其他进程一起并发执行 3.独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位 4.异步 阅读全文
posted @ 2016-03-21 16:27 for_learning 阅读(347) 评论(0) 推荐(0) 编辑