摘要: 1. 管道:只能用于具有亲缘关系的进行通信,使用面相对较窄,实际开发中较少使用; 2. FIFO(命名管道):可以用于任意进程间的通信,对于大块数据的传输效率较高,可应用于单进程大量数据传递,和多个进程向一个进程传递数据; 3. 信号:无法传递数据,而且信号的种类有限,只适用于完成一些简单的事件通知 阅读全文
posted @ 2016-03-22 11:56 AlexAlex 阅读(1722) 评论(0) 推荐(0) 编辑
摘要: 1. 简介: tinyhttpd是使用c语言开发的超轻量级http服务器,通过代码流程可以了解http服务器的基本处理流程, 并且涉及了网络套接字,线程,父子进程,管道等等知识点; 项目地址:http://sourceforge.net/projects/tinyhttpd/ 2. 流程介绍: (1 阅读全文
posted @ 2016-03-22 11:11 AlexAlex 阅读(2140) 评论(0) 推荐(0) 编辑
摘要: 1. 域套接字: (1) 只能用于同一设备上不同进程之间的通信; (2) 效率高于网络套接字。域套接字仅仅是复制数据,并不走协议栈; (3) 可靠,全双工; 2. 域套接字地址结构: 当我们将一个地址绑定至域套接字,系统用该路径名创建一个类型为S_IFSOCK的文件,尽告诉客户端名字,不能打开,也不 阅读全文
posted @ 2016-03-21 23:29 AlexAlex 阅读(2851) 评论(0) 推荐(1) 编辑
摘要: 1. 物理内存: 物理内存指的是插在计算机主板内存槽上的实际物理内存,CPU可以直接进行寻址; 物理内存的容量是固定的,但是寻址空间却取决于cpu地址线条数,如32位机,则寻址空间为2^32=4G, 即最大支持4G的寻址空间,即使我们插入了32G容量的内存条,我们也只能拥有4G的物理内存; 2. 虚 阅读全文
posted @ 2016-03-21 20:11 AlexAlex 阅读(3672) 评论(0) 推荐(0) 编辑
摘要: 1. 共享内存: 共享内存方式可以在多个进程直接共享数据,因为其直接使用内存,不要多余的拷贝,是速度最快的IPC方式; 共享内存有两种实现方式,使用mmap和shm方式,如下图: (1) mmap方式是将文件与进程地址空间进行映射,对实际物理内存影响小; (2) shm方式是将每个进程的共享内存与实 阅读全文
posted @ 2016-03-21 18:24 AlexAlex 阅读(4606) 评论(0) 推荐(0) 编辑
摘要: 1. FIFO: FIFO也被成为命名管道,因其通过路径关系绑定,可以用于任意进程间通信,而普通无名管道只能用于有共同祖先的进行直接通信; 命名管道也是半双工的,open管道的时候不要以读写方式打开,这种操作是未定义的; 2. FIFO创建: FIFO是一种文件类型,mode参数与open函数中的m 阅读全文
posted @ 2016-03-20 11:09 AlexAlex 阅读(3314) 评论(0) 推荐(0) 编辑
摘要: 1. 函数操作: 创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell以运行命令,然后等待命令终止; 2. 函数原型: 函数popen先执行fork,然后调动exec执行cmdstring,并且返回一个标准IO文件指针,如果type='r',则文件指针连接到cmdstri 阅读全文
posted @ 2016-03-19 22:23 AlexAlex 阅读(1682) 评论(0) 推荐(0) 编辑
摘要: 1. 管道局限性: (1) 半双工;(若模拟全双工,可以使用两个管道,即,proc1-->proc2一条管道,proc2-->proc1一条管道) (2) 只能在具有公共祖先的进程之间使用; 2. 管道创建函数: 经由filedes返回两个文件描述符:filedes[0]为读端,filedes[1] 阅读全文
posted @ 2016-03-19 21:45 AlexAlex 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 1. filter(function, sequence): 对sequence中的元素执行function函数,返回由function函数执行结果为True的元素组成的序列,注意新序列类型与传入序列相同 测试:返回正数 #!/usr/bin/env python def findPositiveN 阅读全文
posted @ 2016-03-18 22:00 AlexAlex 阅读(660) 评论(0) 推荐(0) 编辑
摘要: 1. 主题(Topics): fanout模式只能进行简单的广播,direct模式虽然在过滤上进行了一定的提升,但是不能支持复杂的条件, 比如我们的日志消息,现在不仅要知道消息级别,也要知道消息来源。在这样的复杂需求下,我们需要使用 主题交换。 2. 主题交换: 发送主题交换的的routing_ke 阅读全文
posted @ 2016-03-18 17:23 AlexAlex 阅读(854) 评论(0) 推荐(0) 编辑