线程,进程,多线程

大家好,今天分享一下线程,进程,多线程

先了解一下程序的概念:

程序是指令和数据的有序结合它本身没有运行的意义,是一个静态的概念。

进程:执行程序的一次执行过程,它是一个动态的概念,是系统分配资源的单位

也可以换一句话来解释,进程就是正在运行的程序(比如:qq音乐,或者一个软件)

举个进程的实际案例:

打开Windows 命令行窗口:

ping -t www.baidu.com //一直ping 百度域名

在这里插入图片描述

其实,在这个 ping包的过程,就是一个进程

通常在可以有若干个线程,一个进程当中至少有一个线程,否则的话,没有存在的意义

线程是cpu 调度和执行的单位

很多多线程是虚拟出来的,真正的多线程是指有多个cpu ,就是多核,比如服务器,如果

是虚拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只可以执行一个代

码,因为切换的很快,所以就有同时执行的错觉

实例:

一个进程当中可以多个线程

比如说,你在看视频的时候,可以同时听声音,看图像

在这个例子当中,正在播放的视频就是进程,声音与图像这些就是线程

总之:
1.线程就是独立的执行路径
2. 在程序运行时,即使自己没有建立线程,后台也有很多个线程,如主线程,gc 线程
3. main()是主线程,是系统的入口,用于执行整个程序

  1. 在一个进程当中,如果开了多个线程,线程的运行有调度器来安排,
    调度器与操作系统是息息相关的,它的前后顺序是不可以人为的干预的

  2. 对同一资源的资源操作的时候,会存在资源抢占的资源的问题,需要加入并发控制

  3. 线程会带来额外的开销,例如,cpu调度时间,并发控制开销

  4. 每一个线程在自己工作的内存交互,内存控制不当会造成数据不一致

好了,线程,进程,多线程就到这里了,谢谢大家

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思诚代码块

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值