
linux
文章平均质量分 87
Serendipity_00
这个作者很懒,什么都没留下…
展开
-
线程的概念和基本使用详解
线程:轻量级的进程是进程内部的一条执行序列(一组有序指令),或者说是执行流。一个进程至少有一条线程,即就是main函数所代表的执行序列。称之为主线程。通过线程库可以创建线程——函数线程主线程仅仅是代表进程执行的第一条线程而已,当主线程通过线程库创建出函数线程以后,两个线程就没有任何区别。线程和进程的区别:1、进程是资源分配的单位 线程是CPU调度执行的单位多进程:进程间资源都是独立的,同一进程中的多线程,资源是共享的。线程更加轻便,线程创建、调度、切换效率都比进程高。线程库的使用#includ原创 2021-12-07 22:16:21 · 2239 阅读 · 2 评论 -
【Linux文件操作函数】系统调用
这里写目录标题一级目录open一级目录openopen()函数打开或创建一个文件,函数原型为:#include<fcntl.h>//用于打开一个已存在的文件int open(const char *filename,int flag)//用于新创建一个文件int open(const char *filename, int flag,mode_t mode;filename: 需要打开的文件名flag: 打开文件的方式:O_RDONLY O_WRONLYO_RDWR O原创 2021-11-29 22:22:16 · 592 阅读 · 0 评论 -
C语言主函数参数|输出缓冲区问题
这里写目录标题C程序的两个问题主函数参数输出缓冲区C程序的两个问题主函数参数1、主函数默认至少接受一个参数,就是执行程序的命令本身。传递参数时,按照空格来区分传递的参数。2、传递的参数的类型,都是字符串,与用户给定的参数类型无关int main(int argc,char *argv[],char *envp[])argc:参数个数argv:字符指针数组,每一个数组元素都是一个字符指针(字符串)传递的参数列表。envp:环境变量int main(int argc,char *argv[]原创 2021-11-28 18:48:46 · 263 阅读 · 0 评论 -
Linux进程间通信——管道通信详解
进程间通信:管道引言进程间通信管道引言进程是相互独立的,每个进程都有自己的虚拟地址空间,虚拟地址空间通过页表的映射,映射到自己的物理内存上,互不影响。正因为如此,进程间通信就变得很麻烦,操作系统为了使进程间能够通信,会提供一个介质,让多个进程都能够访问,也就是在内存上开辟一块公共资源,让进程在公共资源上交流。进程间通信在Linux系统中,有时候需要多个进程之间相互协作,共同完成某项任务,进程之间或线程之间有时候需要传递信息,有时候需要同步协调彼此工作,则就会出现进程间通信。信号也是进程间通信的一种原创 2021-11-26 20:46:55 · 5808 阅读 · 0 评论 -
Linux信号的使用
信号1.1概念1.2信号分类1.2信号的产生1.3信号的响应方式修改信号的响应方式信号的发送1.1概念信号:操作系统预先定义好的某些特定的事件,信号可以被产生,也可以被接收。产生和接收的主体都是进程。(一个进程向另一个进程通知某一个事件的发生)。kill -l//查看所有信号1~34为普通信号,不存在(0,32,33号信号),34以上为实时信号Linux系统平台上信号的定义:每个信号都有一个编号和一个宏定义名称,这些宏定义可以在系统调用signal.h找到。常见信号的值及对应功能。原创 2021-11-25 15:12:23 · 931 阅读 · 0 评论