- 博客(7)
- 收藏
- 关注
原创 信号量与互斥锁
这是多线程并发两个非常重要的概念,二者有很亲密的关系,但又不相同。1.概念: 临界区:临界区是指并发进程中与共享变量有关的程序段 ——关键程序段 信号量s是非负整数的全局变量,表示可用资源数量(我们可以引申,当它的值小于0时,其绝对值表示等待使用该资源的进程个数) 值得注意的是,信号量的值能且只能由两种特殊的操作即P(P操作原语)和V(V操作原语)来处理: P(
2014-11-16 21:18:06 731
转载 fflush(stdin)与fflush(stdout)
fflush()的作用是用来刷新缓冲区,fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西强制打印到标准输出设备上。 fflush(stdin)不太常用,在有些编译器中是错误的用法,可以用以下方法替代:while(getchar()!='/n'); fflush(stdout)在单
2014-11-15 17:03:02 7745 1
原创 OSI七层模型与TCP/IP协议(族)
1. OSI参考模型的最大作用是降低网络的复杂性,将复杂的网络问题简单化,以便快速定位和解决网络故障。2. OSI参考模型是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层,每一层都有相关的物理设备,比如路由器,交换机。我们举个例子:现在两台主机不能通信,原因可能有很多,那么我们就可以根据OSI参考模型的7层(由低到高,物理层,数据链路层,网络层,会话层,表示层,应用层)来发现故障,
2014-11-15 14:53:50 588
原创 《深入理解计算机系统》之Unix I/O函数
RIO包健壮地读写函数式RIO包提供两类不同的函数:1、不带缓冲的输入输出函数:这些函数直接在存储器和文件之间传送数据,没有应用级缓冲区。2、带缓冲的输入函数(注意没有输出函数):文件的内容缓存在(类似于像printf这样的标准I/O函数提供的缓冲区)应用级缓冲区这里主要针对文件I/O,因为标准I/O本身就是带缓冲的,我们在对文件进行读写操作时,一般会优先使用标准的Io函数,但是在
2014-11-14 16:36:44 831
转载 STDIN_FILENO 与stdin的区别
1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。例:(一次一个)#include"csapp.h"int m
2014-11-14 15:54:34 3791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人