社区
C语言
帖子详情
子进程之间通信问题
birdwy
2000-07-27 09:17:00
我写服务器端程序,起多个子进程和多个客户端连接,
一个子进程接收到一个客户端的信息,处理后如何发给其他子进程,由其他子进程再发给其他客户端.
...全文
150
3
打赏
收藏
子进程之间通信问题
我写服务器端程序,起多个子进程和多个客户端连接, 一个子进程接收到一个客户端的信息,处理后如何发给其他子进程,由其他子进程再发给其他客户端.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Fenian
2000-08-21
打赏
举报
回复
unix下可以用管道进行通信,
popen() pclose()实现父子进程的通信,子进程之间通过父进程通信
borz
2000-08-18
打赏
举报
回复
你是在UNIX下跑吗?
1单独开一个进程(FORWARD)用来转发所有向用户的消息。
2用SYS V IPC 创建一块共享内存,每个用户进程都能写这块内存(当然要实现互次访问)
可能要向FORWARD进程发送信号,让他响应
Kevin_qing
2000-08-18
打赏
举报
回复
是win32下吗?
為什麼不用线程做呢?
你可以使用共享内存,所有子進程共享消息区,还需要共享一同步对象,以防止访问冲突
UNIX网络编程 卷2
进程
间
通信
(第2版)
UNIX网络编程 卷2
进程
间
通信
(第2版)
C#
进程
间
通信
-共享内存代码实例
C#
进程
间
通信
-共享内存代码实例。用实现了2个
进程
,他们
之间
使用共享内存方式进行
通信
。
android
进程
间
通信
之AIDL
android
进程
间
通信
之AIDL的简单的示例代码
计算机操作系统(第三版)
《计算机操作系统》可作为计算机硬件和软件以及计算机
通信
专业的本科生教材,也可作为从事计算机及
通信
工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的目标 1 1.1.2 操作系统的作用 2 1.1.3 推动操作系统发展的主要动力 4 1.2 操作系统的发展过程 5 1.2.1 无操作系统的计算机系统 5 1.2.2 单道批处理系统 6 1.2.3 多道批处理系统 7 1.2.4 分时系统 9 1.2.5 实时系统 11 1.2.6 微机操作系统的发展 12 1.3 操作系统的基本特性 14 1.3.1 并发性 14 1.3.2 共享性 15 1.3.3 虚拟技术 16 1.3.4 异步性 17 1.4 操作系统的主要功能 18 1.4.1 处理机管理功能 18 1.4.2 存储器管理功能 19 1.4.3 设备管理功能 21 1.4.4 文件管理功能 21 1.4.5 操作系统与用户
之间
的接口 22 1.5 OS结构设计 24 1.5.1 传统的操作系统结构 24 1.5.2 客户/服务器模式 26 1.5.3 面向对象的程序设计 27 1.5.4 微内核OS结构 29 习题 33 第二章 进 程 管 理 2.1
进程
的基本概念 34 2.1.1 程序的顺序执行及其特征 34 2.1.2 前趋图 35 2.1.3 程序的并发执行及其特征 36 2.1.4
进程
的特征与状态 37 2.1.5
进程
控制块 41 2.2
进程
控制 43 2.2.1
进程
的创建 43 2.2.2
进程
的终止 45 2.2.3
进程
的阻塞与唤醒 46 2.2.4
进程
的挂起与激活 47 2.3
进程
同步 47 2.3.1
进程
同步的基本概念 47 2.3.2 信号量机制 50 2.3.3 信号量的应用 53 2.3.4 管程机制 55 2.4 经典
进程
的同步
问题
58 2.4.1 生产者—消费者
问题
58 2.4.2 哲学家进餐
问题
61 2.4.3 读者—写者
问题
63 2.5
进程
通信
65 2.5.1
进程
通信
的类型 65 2.5.2 消息传递
通信
的实现方法 66 2.5.3 消息传递系统实现中的若干
问题
68 2.5.4 消息缓冲队列
通信
机制 69 2.6 线程 71 2.6.1 线程的基本概念 72 2.6.2 线程间的同步和
通信
75 2.6.3 线程的实现方式 77 2.6.4 线程的实现 78 习题 81 第三章 处理机调度与死锁 3.1 处理机调度的层次 84 3.1.1 高级调度 84 3.1.2 低级调度 86 3.1.3 中级调度 87 3.2 调度队列模型和调度准则 88 3.2.1 调度队列模型 88 3.2.2 选择调度方式和调度算法的若干准则 90 3.3 调度算法 91 3.3.1 先来先服务和短作业(
进程
)优先调度算法 91 3.3.2 高优先权优先调度算法 93 3.3.3 基于时间片的轮转调度算法 95 3.4 实时调度 97 3.4.1 实现实时调度的基本条件 97 3.4.2 实时调度算法的分类 99 3.4.3 常用的几种实时调度算法 100 3.5 产生死锁的原因和必要条件 103 3.5.1 产生死锁的原因 103 3.5.2 产生死锁的必要条件 105 3.5.3 处理死锁的基本方法 105 3.6 预防死锁的方法 106 3.6.1 预防死锁 106 3.6.2 系统安全状态 107 3.6.3 利用银行家算法避免死锁 108 3.7 死锁的检测与解除 111 3.7.1 死锁的检测 111 3.7.2 死锁的解除 113 习题 114 第四章 存 储 器 管 理 4.1 存储器的层次结构 116 4.1.1 多级存储器结构 116 4.1.2 主存储器与寄存器 117 4.1.3 高速缓存和磁盘缓存 117 4.2 程序的装入和链接 118 4.2.1 程序的装入 118 4.2.2 程序的链接 120 4.3 连续分配方式 121 4.3.1 单一连续分配 121 4.3.2 固定分区分配 122 4.3.3 动态分区分配 123 4.3.4 伙伴系统 126 4.3.5 哈希算法 126 4.3.6 可重定位分区分配 127 4.3.7 对换 129 4.4 基本分页存储管理方式 130 4.4.1 页面与页表 130 4.4.2 地址变换机构 131 4.4.3 两级和多级页表 133 4.5 基本分段存储管理方
Android专用驱动
Android专用驱动构成了Android运行时的基石。从技术上来讲,Android专用驱动也是整个Android系统的亮点,特别是Binder驱动。Binder是一种
进程
间
通信
机制(IPC),它与传统的IPC机制对比,最大的特点是高效,因为
通信
数据在两个
进程
之间
只需要执行一次拷贝即可。Binder在Android系统里面使用得非常广泛以及频繁。在涉及到比较大的
通信
数据时,Binder通常还结合另外一个驱动Ashmem来使用。Ashmem是一个共享内存驱动,它与传统的共享内存相比,最大的特点是它是通过文件描述符来描述的,并且可以动态地进行分块管理。动态分块管理的目的是可以将部分不再使用了的内存交回给系统,非常适合内存较小的移动设备使用。另外一个专用驱动Logger是一个日志驱动,它与传统的日志系统对比,特点是日志是记录在内核空间而非文件中,这样就可以提高日志的读写速度。这个PPT讲Logger、Binder和Ashmem三个Android专用驱动的实现原理。由于这三个驱动在Android源代码里面用得非常广泛和频繁,因此理解它们的实现原理,就可以掌握Android的精华。这对以后阅读Android系统的其它代码,也是非常有帮助的。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章