多线程简介

多线程简介

什么是线程?线程是一个过程,一次可以做的任务的过程。多线程就是一次可以做几个任务的过程。打个比方:一个房间正在被一个工人刷墙,这就是单线程。这时,另一个工人进入了房间,那么就变成了两个人在刷墙,这就是多线程。(在计算机中指令的执行由CPU调度,因为电脑只有一块CPU,所以本质上是一个线程的指令执行完后,另一个线程再进行指令的执行,但是因为CPU速度非常快所以看起来是多个任务在同时执行。打个比喻就是:这个房间只有一套刷子,两个人同时刷墙的时候只有一个人能使用,但是两人之间交换的时间间隔非常短时看起来就像是两个人在刷墙。

什么是进程?写的代码是死的、静态的,代码执行起来就是进程它是动态的。线程被包含在进程中,线程有主线程(main函数中就是主线程)、子线程(是你自己定义的一个线程)、守护线程。

对于以前写的程序,与使用多线程写的程序可以用下图区分。

在这里插入图片描述

对于多线程的注意点:

  • 一个进程如果开辟了多线程,那么线程之间的调度完全由CPU随机决定,可能一个线程执行10次后另一个线程才开始执行。
  • 当多线程对同一资源进行操作时,会发生资源抢夺问题,这是就要加入并发控制了。
  • 多线程对同一份资源进行操作时,会有锁住资源、释放锁的过程(这是人为加入的,你可以没有这个过程但是会发生资源抢夺的问题),这时就会需要额外的资源。
  • 每个线程都在自己的工作内存中交互,内存控制不当会造成数据不一致。

对于以上的注意点看不懂没事,在之后的内容中会讲到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值