牛客高级系列专栏:





简介

本人2020年本硕毕业于广东工业大学:嵌入式许乔丹,牛客高级专栏作者,牛客大学讲师,本科阶段搞了4年单片机、曾参加全国大学生恩智浦汽车竞赛,发表4个硬件专利。研究生阶段找了嵌入式linux的实习,毕业后拿到珠海格力,云从科技,CVTE,小米,美的,华为的嵌入式offer,签约CVTE嵌入式岗位。

在CVTE先后做过嵌入式Linux开发和安卓系统开发,参与过TV板卡、显示屏板卡、智能家居板卡、希沃网课学习机的开发。欢迎交流嵌入式或者安卓哈!

正文开始⬇️

1.1 进程线程的基本概念(本文讲1.3.1-1.3.3)

1.1.1什么是进程,线程,彼此有什么区别⭐⭐⭐⭐⭐

1.1.2多进程、多线程的优缺点⭐⭐⭐⭐

1.1.3什么时候用进程,什么时候用线程⭐⭐⭐

1.1.4多进程、多线程同步(通讯)的方法⭐⭐⭐⭐

1.1.5进程的空间模型⭐⭐⭐

1.1.6一个进程可以创建多少线程,和什么有关⭐⭐

1.1.7进程线程的状态转换图 什么时候阻塞,什么时候就绪⭐⭐

1.1.8父进程、子进程的关系以及区别⭐⭐⭐⭐⭐

1.1.9什么是进程上下文、中断上下文⭐⭐

1.2 并发,同步,异步,互斥,阻塞,非阻塞的理解

1.2.1并发,同步,异步,互斥,阻塞,非阻塞的理解⭐⭐⭐⭐⭐

1.2.2什么是线程同步和互斥⭐⭐⭐⭐⭐

1.2.3线程同步与阻塞的关系?同步一定阻塞吗?阻塞一定同步吗?⭐⭐⭐

1.3 孤儿进程、僵尸进程、守护进程的概念

1.3.1 基本概念 ⭐⭐

1.3.2 如何创建守护进程:⭐⭐

1.3.3 正确处理孤儿进程、僵尸进程的方法⭐⭐⭐⭐⭐

1.3 孤儿进程、僵尸进程、守护进程的概念

1.3.1 基本概念

孤儿进程:当父进程退出后它的子进程还在运行,那么这些子进程就是孤儿进程。孤儿进程将被init进程所收养,并由init进程对它们完成状态收集工作。

僵尸进程:当子进程退出后而父进程并未接收结束子进程(如调用waitpid获取子进程的状态信息),那么子进程仍停留在系统中,这就是僵尸进程。

守护进程:是在后台运行不受终端控制的进程(如输入、输出等)。网络服务大部分就是守护进程。

1.3.2 如何创建守护进程:

1)创建子进程,父进程退出:因为守护进程是在后台运行不受终端控制的进程,父进程退出后控制台就以为该程序结束了,我们就可以在子进程进行自己的任务,同时用户仍可以在控制台输入指令,从而在形式上做到了与控制台脱离。

2、在子进程中创建新的会话(脱离控制终端):使用系统函数setsid()来创建一个新的会话,并担任该会话组的组长,摆脱原会话的控制==>