![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 71
风雪故人归
毕业于西安财经大学软件工程系,现从事游戏开发工作
展开
-
进程间通讯:消息队列
一、什么是消息队列?消息队列与命名管道相似,提供了从一个进程向另外一个进程发送数据块的方法,接收进程可以独立,有选择的接收含有不同类型的数据块,由内核实现。二、消息队列的操作1. 创建或获取:Int msgget((key_t)key, int flag);Key是键值,是一个唯一的非零整数,类似于一个“身份证号”,其它进程通过这个“身份证号”来使用对应的消息队列;Flag 用来确定操作原创 2017-10-27 15:31:55 · 232 阅读 · 0 评论 -
进程间通讯:共享内存
一、什么是共享内存?允许不同的进程访问同一个逻辑内存,高效的传递信息。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。二、共享内存的操作1. 创建或获取:int原创 2017-10-27 23:02:39 · 230 阅读 · 0 评论 -
进程间通讯:管道
一、首先来总览一下进程间通讯的方式。进程间通讯的方式:1.信号 : 数量有限,无法传递数据2.管道: 分为无名管道和有名管道,本篇博客重点讲解 3.信号量:用于进程间同步控制4.消息队列:进程间发送数据块,每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。5.共享存储(共享内存): 共享内存并未提供同步机制,需要其他机制来同步6.套接字(原创 2017-10-20 15:29:44 · 240 阅读 · 0 评论 -
进程间通讯:信号量
一、与信号量有关的几个知识点1. 临界资源:同一时刻,只能被一个进程访问的资源2. 临界区:访问临界资源的代码区3. 原子操作:任何情况下都不能被打断的操作4. 内核对象:对通讯值的记录,类似管道二、信号量的实质和作用 信号量的实质是记录资源同时能被多少个进程访问,作用于进程间的同步控制,不同于锁,它可以有N个有限值。 举个例子,信号量类似一个停车场,而原创 2017-10-22 11:32:57 · 240 阅读 · 0 评论 -
进程间通讯:总结
一、进程间通讯方式总览以及各自优点:1.信号 : 内核实现,及时传递状态信号 2.管道: 在同步机制下实现数据的传递 3.信号量:用于进程间同步控制 4.消息队列:可选择地接收含有不同类型的数据结构。 5.共享存储(共享内存): “共用内存”,快速传递数据 6.套接字(socket):用于网络间通讯二、进程间通讯方式的相互对比1.信号:信号是系统响应某些条件而产生的一个事件,接收到该信号原创 2017-10-30 22:39:31 · 188 阅读 · 0 评论 -
网络编程:网络基础
一、OSI和TCP/IP模型1.物理层 提供建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性;提供有关在传输介质上传输非结构的位流及物理链路故障检测指示。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。 常用协议:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-452.数据链路层 负责在两个相邻结点间的线路上,原创 2017-11-21 14:57:58 · 210 阅读 · 0 评论 -
网络编程:TCP
一、TCP协议提供的是面向连接的可靠的流式服务即有发送缓冲区、接收缓冲区,发送次数和接收次数不一定对等。报头长,成本高,需要搭载更多的数据。二、三次握手建立连接与四次挥手断开连接1.三次握手 通过对ACK的确认,建立可靠连接。有超时重传机制2.四次挥手 有可能服务器处理数据的时间较短,即三次挥手3.状态图 TIME_WAIT 状态: 出现在主动发起断开链接请求的一端 意义:1、保原创 2017-11-21 15:30:10 · 187 阅读 · 0 评论