![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 79
Moti_31
Better late Than Never
展开
-
线程与多线程(同步、互斥)
什么是线程:线程是进程中的一条执行流,linux下线程是以进程的PCB模拟的,linux下的线程就是轻量级进程,因此linux下的线程是CPU调度的基本单位(线程是实际上处理事件的)。linux下的进程是线程组,进程id==线程组id,所以进程是资源分配的基本单位,线程是进程的一个执行单位,一个进程可以有一个或多个线程,它们共用该进程的所有资源。线程没有独立的内存空间。linux下的...原创 2019-07-13 11:52:21 · 405 阅读 · 0 评论 -
进程间通信方式(IPC)
因为进程的独立性,所以进程间通信变得麻烦,但有时又需要进程之间的通信:数据传输、资源共享、通知事件(进程退出时需要告知父进程)、进程控制。系统就提供了以下几种进程间通信的方式:一:管道 匿名管道,能在父、子进程间传递数据,一个进程创建一个管道,fork()子进程后,int pipe(int fd[2])创建管道。两个...原创 2019-07-06 17:59:35 · 271 阅读 · 0 评论 -
进程及进程控制
学习进程之前,先了解一下程序:所谓程序就是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存.....)而进程是与操作系统相关,是指在内存中运行起来的程序,占用一些系统资源,每当一个程序运行,就相应产生一个进程。进程的一些相关信息被放在一个叫进程控制块的数据结构中,称之为PCB。Linux下的PCB是task_struct,其中的一些成员:标示符(PID):表示进程ID,系统...原创 2019-07-01 20:27:05 · 493 阅读 · 0 评论 -
多路转接——select、poll、epoll
首先要明确一点那就是IO执行的两个阶段: 1.等待数据准备好 2.从内核中进行数据拷贝在实现的时候分为同步IO:在调用的没有得到结果前,该调用不返回,调用者主动等待这个调用的结果 异步IO:调用发出后,直接返回,不会立刻得到结果,而是让被调用者通知调用者Linux下的五种IO模型:阻塞、非阻塞、信号驱动、多路复用、异步IO。其中,前四种都是同步IO,最后一种是异步...原创 2019-03-26 20:30:43 · 841 阅读 · 0 评论 -
vim实用、最方便配置
在网上看了很多种方法,存在着很多的问题,其中不乏GitHub中的大佬做出很多的vim配置,但是本人在vim多数写的是C/C++代码,所以下面就来简单的总结一下vim的配置:包括了vim的代码补全、关键字高亮、简易的类似vs下的F5运行,并支持C/C++关键字高亮显示,并且可以定位错误因为vim配置是随用户的,在普通用户下进行修改配置,并不会影响到其他用户。步骤一:下载文件gi...原创 2019-07-17 11:39:57 · 512 阅读 · 0 评论 -
json库和jsoncpp库的安装及使用
scons下载地址:wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gzJsoncpp 下载地址:wgethttps://nchc.dl.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gz这两个直接下载了安装包之后: ...原创 2019-08-01 08:56:09 · 2255 阅读 · 1 评论 -
IO-同步、异步、多路转接
在linux系统中对于一个IO事件来说,实际都分为了两步:等待数据准备好 将数据从内核中拷贝到进程中IO的两个步骤是它的基础,以下讨论各种IO模型的区别就是上面两步的不同,以下来逐个解释:同步IO1.阻塞 在linux中,所有的socket默认都是阻塞方式的,阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。...原创 2019-08-02 10:32:02 · 279 阅读 · 0 评论 -
关于fork的问题(详解)
首先看一段代码:#include <stdio.h>#include <unistd.h>#include <fcntl.h>int main(void) { int i; for(i=0; i<2; i++){ fork(); printf("-"); } re...原创 2019-08-09 14:43:23 · 917 阅读 · 0 评论 -
Linux——进程控制
进程控制:创建进程、进程终止、进程等待。 创建进程: 创建进程:fork()函数,这个接口是以父进程为模板复制创建一个子进程,父子进程代码共享,但数据独有,而创建新的进程往往是希望它去完成不同的功能,函数的返回值可以起到分流的作用(父进程返回子进程的pid,而子进程的返回值为0),来判断父、子进程。而父子进程的优先级,取决于CPU调度。与fork()功能类似的还有vfor...原创 2018-11-26 17:14:50 · 650 阅读 · 0 评论