上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 50.1 共享内存 50.1.1 共享内存的概念 共享内存区域是被多个进程共享的一部分物理内存 多个进程都可把该共享内存映射到自己的虚拟内存空间。所有用户空间的进程若要操作共享内存,都要将其映射到自己虚拟内存空间中,通过映射的虚拟内存空间地址去操作共享内存,从而达到进程间的数据通信 共享内存是进程间 阅读全文
posted @ 2019-01-27 18:55 游戏进行中 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 49.1 System V IPC 介绍 49.1.1 System V IPC 概述 UNIX 系统存在信号、管道和命名管道等基本进程间通讯机制 System V 引入了三种高级进程间通信机制 消息队列、共享内存和信号量 IPC 对象(消息队列、共享内存和信号量)存在于内核中而不是文件系统中,由用 阅读全文
posted @ 2019-01-24 21:56 游戏进行中 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 48.1 标准库中的管道操作 48.1.1 标准库中的管道操作 函数说明: 使用 popen() 创建的管道必须使用 pclose() 关闭。其实,popen/pclose 和标准文件输入/输出流中的 fopen()/fclose 十分相似。 封装管道的常用操作 返回值: popen:成功,返回文件 阅读全文
posted @ 2019-01-20 20:41 游戏进行中 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 47.1 协同进程 47.1.1 介绍 两个进程通过两个管道进行双向通信称为协同进程。 47.1.2 例子 co_process.c add.c 先编译 add.c ,再编译 co_process.c,运行结果如下: 47.2 读写特性 47.2.1 介绍 通过打开两个管道来创建一个双向管道 管道是 阅读全文
posted @ 2019-01-19 16:37 游戏进行中 阅读(538) 评论(1) 推荐(0) 编辑
摘要: 46.1 管道介绍 46.1.1 管道通信 管道是针对于本地计算机的两个进程之间的通信而设计的通信方法,建立管道后,实际获得两个文件描述符:一个用于读取而另一个用于写入 最常见的 IPC 机制,通过 pipe 系统调用 管道是单工的,数据只能向一个方向流动,需要双向通信时,需要建立起两个管道 数据的 阅读全文
posted @ 2019-01-17 20:08 游戏进行中 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 45.1 进程间通信要达到的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到 通知事件 一个进程需要向另一个或一组进程发送消息,通知(它们)发生了某种事件(如进程终止时要通 阅读全文
posted @ 2019-01-16 21:02 游戏进行中 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 44.1 死锁 死锁: 两个线程试图同时占有两个资源,并按不同的次序锁定相应的共享资源 解决方式: 按相同的次序锁定相应的共享资源 使用函数 pthread_mutex_trylock(),它是函数 pthread_mutex_lock() 的非阻塞版本 两个线程试图同时占有两个资源,并按不同的次序 阅读全文
posted @ 2019-01-15 20:28 游戏进行中 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 43.1 信号量 43.1.1 信号量介绍 信号量从本质上是一个非负整数计数器,是共享资源的数目,通常被用来控制对共享资源的访问 信号量可以实现线程的同步和互斥 通过 sem_post() 和 sem_wait() 函数对信号量进行加减操作从而解决线程的同步和互斥 信号量数据类型:sem_t 43. 阅读全文
posted @ 2019-01-14 21:14 游戏进行中 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 42.1 线程状态转换 42.1.1 状态转换图 42.1.2 一个线程计算,多个线程获取的案例 编译运行结果如下: 42.2 读者-写者案例 几种情况: 1 个写者,1 个读者 1 个写者,多个读者 多个写者,多个读者 1 个写者,1 个读者 1 个写者,多个读者 多个写者,多个读者 完成第一种情 阅读全文
posted @ 2019-01-13 20:07 游戏进行中 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 41.1 概念 41.1.1 条件变量的介绍 互斥锁的缺点是它只有两种状态:锁定和非锁定 条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足 条件变量内部是一个等待队列,放置等待的线程,线程在条件变量上等待和通知,互斥锁用来保护等待队列(对等待队列上锁),条件变量通常和互斥锁一 阅读全文
posted @ 2019-01-11 21:57 游戏进行中 阅读(434) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页