多线程学习笔记(一)多线程之基本概念学习

引言

多线程是既是编程中的重点,又是难点,在学习多线程之前,首先要搞清楚设计多线程中的几个概念,小猿一直对于学习新的事物采纳的学习模式是首先搞清楚概念,及"xxx"是什么?其次是“xxx”能做什么?最后是"xxx"为什么,采用这种模式可以帮助小猿快速获取该事物的要领,好了,废话不说了,我们进入正题。

多线程相关的几个专业术语介绍

进程

什么是进程?查看度娘给出的定义是:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。这个概念理解起来有点费劲。先来上一张图:
在这里插入图片描述
上面就展示的是进程,其实进程的就指计算机加载入内存中的程序,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;进程也会经历生老病死,当然一个应用程序也可以拥有多个进程,比较典型的是集成杀毒工具,比如腾讯管家。
在这里插入图片描述

线程

对于这个概念网上好多都是给的比较模糊,有的说法是线程是应用程序到cpu的通道,对于此种理解,小猿表示不能赞同,看看度娘给出的定义是:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
在这里插入图片描述

并行

指两个或多个事件在同一时刻发生,简单的模型如下所示:
在这里插入图片描述

并发

指两个或多个事件在同一个时间段内发生。简单的模型如下所示:

在这里插入图片描述

总结

对于多线程学习的重点概念已经基本理解清楚,后续小猿将重点学习多线程相关的其他编程知识如所线程安全问题,多线程程序的线程通信等问题。

猜你喜欢

转载自blog.csdn.net/xueshanfeitian/article/details/106483146