多线程(一)——了解多线程

每每面试,面试官总会提到有关多线程的问题。
对于我这种临时抱佛脚的人来说,只能凭着印象去回答,一点底气都没有。
这可能就是我这入门菜鸟一定要遇到的坎吧。

消除恐惧的最好办法就是面对恐惧!坚持,才是胜利!加油!奥利给!
—— 冬泳怪鸽
在这里插入图片描述

一、为什么要学多线程

  1. 为了面试时不会一问三不知
  2. 为并发编程打好基础,目前在实际工作中,有关线程的代码都被封存了,但实际环境中,经常出现大量请求同一个接口,并发可能会产生一些问题,所以也需要掌握一定的并发知识

二、什么是多线程

在回答这个问题前,先说一下什么是单线程。

单线程:程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。

例如:
观众一听到于老师三大爱好,都是齐刷刷一字一句地念:

抽烟!喝酒!烫头!

在这里插入图片描述
观众念这些词,就是有顺序地执行,肯定是一个词念完才念下一个,这就是单线程。

接下来说一下什么是多线程,于老师在搞他三大爱好时就像多线程,并发执行。

在这里插入图片描述
有人就会问,这三个动作怎么并发执行呢?

这不简单吗?

于老师酒喝多了,抽烟的时候,烟头把头给烫了

在这里插入图片描述

三、为什么要使用多线程

使用多线程可以提高程序执行的效率。

举个例子:
工厂需要加工零件240个,工程师甲每小时能加工40个,工程师乙每小时能加工20个。
只让其中一人加工零件,如果是工程师甲负责,就需要6个小时,工程师乙负责则需要12个小时。
让甲乙两个工程师同时加工,则只需要4个小时。

如果把每个工程师看成一个线程,则多线程可以调高执行的效率。

四、多线程应用场景

  • 线程之间相互独立,互不影响。
  • 一个线程出现问题,不影响其他线程。

五、注意

使用多线程并发执行程序,可以提高执行效率,但随着而来也产生了一个问题:资源抢占
以第三点举的例子,甲乙两位工程师合作加工零件,会出现一个问题,乙师傅和甲师父同时加工了同一个零件,这就衍生了一个知识点——
锁的知识点,等后面深入,我们再细聊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值