![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 66
up up up!
fighting!
展开
-
Linux线程编程(一)
一.线程基本知识1.定义(1)进程是资源管理的基本单元,而线程是系统调度的基本单元,线程是操作系统能够进行调度运算的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。(2)一个进程在某一个时刻只能做一件事情,有了多个控制线程以后, 程序设计成在某一个时刻能够做不止一件事,每个线程处理独自的任务。需要注意的是:即使程序运行在单核处理器上,也能够得到多线程编程模型的好处。处理器的数量并不影响程序结构,所原创 2021-06-07 21:41:43 · 120 阅读 · 0 评论 -
Linux线程编程(二)
二、线程相关API注:与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以pthread_d打头的,要使用这些函数库,要通过引入头文件pthread.h,因为pthread的库不是linux系统的库,所以在进行编译的时候要加上-lpthread进行链接线程函数库。同进程ID一样,线程ID是pid_t类型的变量,而且是用来唯一标识线程的一个整型变量,在linux当中如果你要查询系统中的线程,也有一条命令:ps-aL在传统的UNIX进程模型中,每个进程只有一个控制线程,从概念上讲,这与基于原创 2021-06-07 21:39:02 · 554 阅读 · 0 评论 -
linux的~目录
linux中 ~ 表示的是什么目录?~ 表示代码主目录,也就是当前登录用户的用户目录。比如:我登录用户是chencd ~~ 代表的就是 /home/chen/当然前提是有用户目录,如果没有/home/chen目录的话情况就比较多了。总之先cd ~ 再pwd就知道了。pwd 命令,是 Print Working Directory (打印工作目录)的缩写,功能是显示用户当前所处的工作目录。该命令的基本格式为:/是指根目录:就是所有目录最顶层的目录./表示当前目录./ 一般需要和其他文件原创 2021-06-05 22:01:16 · 655 阅读 · 0 评论 -
shell无名管道线的实现(父子进程实现对管道的一端读另一端写)
在介绍正式内容之前,先弄清楚几个函数和概念。1.fork():用于创建子进程,它的返回值:在父进程中,fork返回新创建子进程的进程ID;在子进程中,fork返回0;如果出现错误,fork返回一个负值。2.int pipe(int filedes[2]):用于创建管道,调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过filedes参数传出给用户程序两个文件描述符,filedes[0]指向管道的读端,filedes[1]指向管道的写端(很好记,就像0是标转载 2021-06-03 18:18:23 · 559 阅读 · 0 评论 -
Linux学习(二)
Linux中ls命令的用法详解一.目录结构使用ls命令我们首先要了解Linux下的目录结构,Linux系统是由各种文件和目录构成的,就像Windows系统下文件和文件夹的关系,一级一级的向下包含扩展,例如在根目录下有bin,boot,dev,etc,home等目录,而在这些目录下又包含了其他的文件和目录,这样就形成了以根目录“ / ”为根的树形结构。另外:每个目录下都有“.” “…”这样的两个隐藏文件,“.”表示本文件,“…”表示父目录。二.Linux下的文件类型在Linux下一切皆文件 (eve转载 2021-05-24 21:30:35 · 277 阅读 · 0 评论 -
Linux学习(一)
Ubuntu 系统上编译运行C程序Ubuntu有自带的C编译器gcc,无需我们安装,直接编辑源代码然后编译运行即可。第一个C程序用Ubuntu自带的gedit文本编辑器来编写:1、右键点击桌面然后点击Open Terminal,打开终端。2、通过gedit创建文件test.c,在终端输入 gedit test.c然后回车。3、打开gedit后开始编辑源代码,完成后Ctrl+S保存退出即可。4、回到终端,准备编译这个.c文件,输入如下代码,形式为:(gcc test.c -o test 或者 g原创 2021-05-24 21:16:38 · 254 阅读 · 0 评论