生产者消费者模型

什么是生产者消费者模型? 生产者消费者问题是一个很经典的线程同步问题。将数据的产生和处理分由多个线程来完成,一部分用于完成数据的产生,另一部分用于完成数据的处理。我们形象地将产生数据的线程称为生产者,将用于数据的处理的线程称为消费者。生产者将数据生产出来,然后放入缓冲区,然后消费者从缓冲区去里边...

2018-04-26 20:46:09

阅读数 45

评论数 0

多线程的同步与互斥

mutex互斥锁实现互斥为什么需要互斥?          前边已经说过了,线程是在进程内部的,即线程是共享进程的地址空间的。线程拥有仅属于自己的一部分数据的:线程ID、一组寄存器(用于保存自己的上下文信息)、栈、errno、信号屏蔽字、调用优先级。所以大部分情况,线程使用的数据都是局部变量,变量...

2018-04-26 13:39:13

阅读数 69

评论数 0

守护进程

守护进程的概念       守护进程(Daemon)是运行在后台的一种特殊的进程,它独立于控制终端并且周期性地执行某种任务或者等待处理某些发生的事件。守护进程不需要用户输入(即不需要从控制端接收数据)就能运行而且能够为用户程序甚至整个系统提供某种服务。Linux系统中大多数服务器就是通过守护进程实...

2018-04-19 17:16:01

阅读数 43

评论数 0

进程间的关系

    进程间有什么关系呢?我们都知道使用fork函数创建进程是一次调用两次返回。父进程返回子进程的进程ID(非0),子进程返回0值。很显然,使用fork创建出来的两个进程是父子关系。那如果两个进程都是同一个父进程创建出来的,它们是什么关系呢?“兄弟”关系。那么,两个或者多个进程之间,都有什么关系...

2018-04-16 21:16:46

阅读数 669

评论数 0

基础I/O----通过系统调用来操纵文件

简单回忆一下两个在C语言中用于文件的读写的函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); //用于从文件里边读数据     ptr:用于存储读取数据的空间     size:读取元素的大小     n...

2018-04-14 17:07:57

阅读数 44

评论数 0

umask函数的作用

使用umask函数需要包含头文件#include <sys/types.h>#include <srs/stat.h>mode_t umask(mode_t mask);//函数原型该函数为进程设置文件模式屏蔽...

2018-04-13 20:29:32

阅读数 159

评论数 0

C语言中文件操作函数汇总

fopen函数  --- 打开一个文件流函数原型:FILE*  fopen(const char *path, const char *mode);参数:参数path是需要打开文件的文件名,通常把它叫做文件的路径,         参数 mode 是打开文件的权限(只读、只写、读写等)。返回值:打...

2018-04-13 19:56:54

阅读数 529

评论数 1

线程概念与线程创建

什么是线程?为什么要有多线程?        一家公司需要生产某种产品,然后为生产这种产品提供了各种原材料和几层楼的资源。而这件产品是有很多个零件组成的,各个零件需要的材料可能是不同的,即,有些零件之间的制造是不相互影响的。现在要生产一种产品,由A、B两种零件组成。公司分配了1、2、3这三层楼(...

2018-04-11 22:22:07

阅读数 59

评论数 0

熟悉编译器gcc/g++

本文说是为了熟悉gcc/g++编译器,除此之外,还希望读者能对源程序被执行起来的整个过程有更深刻的理解。gcc和g++的用法差不多,本文就以gcc为例来讲解一个源程序被执行起来首先要经过四个步骤:预编译、编译、汇编、链接。预编译:1)、宏替换与删除。将代码中展开所有的宏,并将所有的#define宏...

2018-04-09 21:52:53

阅读数 54

评论数 0

信号的捕捉与处理

        前边已经详细介绍了信号的产生,经常说到的一句话应该是向进程发送一个信号,但是进程不是像人,可以自己去感知信号。那么,到底是怎么向通过什么方式将进程发送信号的呢?怎么样算是给进程发送了一个信号呢?      和红绿灯一样,信号其实也就是一种规定。在现实生活中,只有那些在相应领域里有着...

2018-04-09 17:36:55

阅读数 389

评论数 0

什么是信号?

引子       说到信号首先想到什么呢?相信很多人都会想到红绿灯。的确,红绿灯相对于我们来说,就是一个信号,一个与过马路相关的信号。我们能根据红绿灯的颜色来判断某个时刻是否应该过马路,还能知道自己多少秒后能过马路。为什么通过红绿灯我们就知道自己该干嘛呢?因为从小我们就听老师和父母告诉我们,红灯停...

2018-04-07 14:28:27

阅读数 365

评论数 0

进程间通信---信号量

在讲解信号量之前有必要先介绍几个重要的概念。进程的互斥:由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,这种关系叫做进程的互斥临界资源:系统中的某些资源能被多个进程看见,但是一次只允许一个进程使用,而这样的资源被称为临界资源或互斥资源。临界区:进程中访问临界资源的一段...

2018-04-03 21:55:40

阅读数 55

评论数 0

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