2021-09-22 API之线程详解(上)

一、线程的概念:

任务管理器快捷键:Ctrl+Alt+delete

1、进程和线程的区别?

进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。

一个进程可以包含多个线程,而且至少包含一个线程。

①地址空间:进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间

线程没有独立的地址空间,统一进程内的线程共享本进程的地址空间。

②资源拥有:进程之间的资源是独立的,同一进程内的线程共享本进程的资源。

③执行过程:每个独立的进程都有一个程序运行的入口,可以独立执行。

但是线程不能独立执行,必须依附在应用程序中,由应用程序提供多个线程的执行控制。

进程就像是渣男谈恋爱, 一个进程可以有多个线程(女朋友),最少也得有一个。

2、单线程与多线程:

单线程:一个顺序的单一的程序执行流程就是一个线程。代码一句一句地有先后顺序地执行。

多线程:多个单一顺序执行的流程并发运行,造成“感官上同时运行”的效果。

单线程:就是只谈一个女朋友,顺序执行就完事。

多线程:就是一起谈很多个, 有很多个线程,看着好像是”同时恋爱,同时运行“。但其实,渣男需要分派时间,给这个女朋友(线程)一会时间,这个女朋友才在谈,线程在运行;这个时间片到期了,就给别的女朋友。由于渣男换的很快,早上谈个女大学生,中午谈个女白领,下午又谈个女大学生,所以看起来宏观上好像是一起的,但其实根据具体分配时间切换的不同,微观上走走停停。这就是并发。

3、并发

多个线程实际运行是走走停停的,线程调度程序会将CPU运行时间划分为若干个时间片段,并尽可能均匀地分配给每个线程,拿到时间片的线程会被CPU执行这段时间。

当超时后,线程调度程序会再次分配一个时间片段给一个线程,使得CPU执行它,如此反复。

由于CPU执行时间在纳秒级别,我们感觉不到切换线程运行的过程,所以微观上走走停停,宏观上感觉是一起运行,这种现象称为并发运行。

 4、并发和并行区别

并发是指一个处理器同时处理多个任务,并行是指多个处理器或者多核处理器同时处理多个不同的任务。并发是逻辑上同时发生,并行是物理上同时发生。

(并发是指在同一时刻只能有一条指令执行,但是多个指令会被快速的轮换执行,使得宏观上由同时执行的效果,但是在微观上并不是同时执行的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值