自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

番茄都是西红柿

程序媛小白

  • 博客(8)
  • 收藏
  • 关注

原创 三次握手和四次挥手

TCP三次握手和四次挥手的全过程 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种表示:SYN(synchronous建立连接)ACK(acknowledgement 表示响应、确认)PSH(push表示有DATA数据传输)FIN(finish关闭连接)RST(reset表示连接重置)URG(urge...

2018-05-18 22:34:19 189

原创 死锁

1.死锁:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。2.产生死锁的原因:(1)竞争不可抢占性资源。(2)竞争可消耗资源。 当系统中供多个进程共享的资源如打印机,公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。(3)进程推进顺序不当。 进程在运行过程中,请求和释放资源的顺序不当,也同样会...

2018-05-18 22:11:54 110

原创 生产者和消费者

一、生产者消费者模型 在实际的开发中,经常会碰到如下场景:某个模块负责生产数据,这些数据由另一个模块来负责处理。产生数据的模块就形象的称为生产者,而处理数据的模块就称为消费者。只有生产者和消费者还不够,这个模型还必须要有一个缓冲区处于生产者和消费者之间,作为中介。生产者把数据放入缓冲区,而消费者从缓冲区中取出数据。 二、为什么要使用生产者消费者模型 1、解耦 假设生产者和消费者...

2018-05-18 22:06:16 573

原创 I/O复用的三种方法

select、poll、epoll这三组I/O复用系统调用都能同时监听多个文件描述符,他们都通过timeout参数指定要等待的时间。直到事件就绪时返回,返回值就是就绪的文件描述符的数量。下面我们从事件集、最大支持文件描述符数量,工作模式和具体实现方面比较一下他们的异同:1、事件集 select的参数没有将文件描述符和事件绑定,他仅仅是一个文件描述符的集合,所以select需要分别用三个...

2018-05-18 22:00:16 431

原创 线程安全与可重入

1、什么是线程安全 当一个函数被多个线程反复调用的时候,他会一直产生正确的结果,那么这个函数就是线程安全的。线程安全函数解决了多个线程调用函数时访问临界资源的冲突问题。2、可重入 在多线程或有异常控制流的情况下,当某个函数运行到中途时,控制流有可能被打断去执行另一个函数,而这”另一个函数”有可能是他本身,如果在这种情况下不会出现问题,比如与说数据或状态不被破坏,而且行为可预期,那么这个...

2018-05-18 21:56:22 418

原创 进程组与作业、会话之间的关系

一、进程组、作业、会话 1.进程组(process group) 每个进程除了有一个进程ID(保存在PCB当中),还属于一个进程组。进程组由一个或多个进程组成,通常和一个作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。 每个进程组都有一个组长进程,组长进程的ID等于组ID。 组长进程可以组建一个进程组。只要进程组中有一个进程存在,这个进程组就存在。 2.作业(job)...

2018-05-18 21:45:11 359

转载 动态内存开辟

一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 void free(void *FirstByte): 该函数是将之前用malloc分...

2018-05-02 23:43:39 118

原创 C语言中的位段

位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。 位段的定义格式为: 类型 成员名: 占用位数目 其中类型只能为int,unsigned int,signed int三种类型(int型能不能表示负数视编译器而定,比如在vc中int就默认是si...

2018-05-02 21:23:46 168

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除