
Linux相关
文章平均质量分 94
JoneSen^=^
学生求带
展开
-
linux系统7--线程同步
1.线程同步的概念 所谓线程同步,就是多个线程同时访问同一资源,多个线程协同步调,先后处理某件事情。那么如何实现线程同步呢?就是利用"锁"来实现的。下图为实现线程同步的基本操作: 如上图,线程在访问数据前必须加锁,加锁的目的是为了对线程进行阻塞,若锁已经被另外的线程锁上了,那么当前线程进入阻塞态,直到锁被打开,解除阻塞。若没有上锁,当前进行直接加锁。 上图中,资源被线程1直接上锁,那么线程2就进入阻塞状态。直到线程1解锁,然后线程2解除阻塞,加锁。如此往复。 2.锁 综上所述,我们要使用线程同步,就必须使原创 2021-05-21 22:45:10 · 317 阅读 · 0 评论 -
Linux系统3---进程间通讯
Linux系统进程间通讯相关1.管道1.1匿名管道1.2有名管道 为什么要实现进程间的通讯:因为进程都是相互独立的,但是在很多时候我们要完成一项任务需要进程之间是相互协调的(如,进程间的数据传输,数据共享,事件通知,资源共享和进程控制),这时我们就需要使用进程间通讯的技术。进程间常用的通讯方式有:管道,信号,信号量,共享映射区,本地套接字,消息队列 1.管道 管道的本质就是内核缓冲区,它是一个伪文件(不占用磁盘空间),如图: 管道分为两部分:读端与写端,它们分别对应两个文件描述符,数据从写段流入,读端流出原创 2021-05-14 14:23:19 · 267 阅读 · 0 评论 -
Linux系统2--进程控制
linux系统的进程控制的一些函数1.fork()函数 1.fork()函数 函数原型 :pid_t fork(void); 函数作用 :用于创建一个进程,所创建的子进程复制父进程的代码段/数据段/BSS段/堆/栈等所有用户空间信息;在内核中操作系统重新为其申请了一个PCB,并使用父进程的PCB进行初始化; 如图: 注意:当执行/a.out中有fork子进程时, shell进程将不知道a.out创建了子进程,因此在shell检测到父进程执行完毕后,shell会直接切换到前台。因此当父进程比子进程先抢到cp原创 2021-05-11 22:19:27 · 346 阅读 · 0 评论 -
Linux系统1----进程相关
Linux系统的进程相关进程相关的一些概念1.程序和进程2.并行与并发3.进程的五种状态及相互之间的关系4.关于PCB(进程控制块) 进程相关的一些概念 1.程序和进程 程序:就是一个二进制文件,占用的是磁盘空间,没有运行 进程:是一个启动的程序 运行起来的程序与磁盘之间已经没有联系了 所有的数据都在内存中 需要占用更多的系统资源。如:CPU,物理内存等 2.并行与并发 并行:加入需要在1秒内处理n个进程,那么并行就是CPU将1秒分为n份。然后在一秒内处理这n个数据(CPU分时复用),如图: 并发:并原创 2021-05-11 09:58:22 · 263 阅读 · 0 评论