2022年八月面试----面试官:聊聊多线程-------不知道多线应该那里说起请看

作为一名正在遭受社会 面试官毒打小白,终于有时间整理一下面试问题:
其中问的最多就是集合和多线程,我们先开始看看多线程吧。

面试官:说一下多线程吧

在这之前,我是这样回答了,
额,唔…我对于多线没有太深入的了解(实际上我真的不知道应该从哪里开始说起)
经过痛下苦工之后的,终于整理了,一下个人觉得ok的答案:

我:

1,首先我们要知道为什么提出多线程这个概念?

我认为多线程的提出目的就是为了,提升CPU等资源的利用和效率的提高,也就是为了实现我们常说的高并发(注意是“并发”不是“并行”,小伙伴们不要搞错哦)

2,那么我们就来聊聊什么是并发?

并发也就是具备多任务处理的能力?

3,那么问题来了,使用并发我们需要注意什么?

3.1,性能问题
3.2,活跃度问题(也就是各种锁的利用,比如说死锁和活锁)
3.3,安全问题

4,为了解决上诉的问题,并发提出多个概念,

4.1,线程间同步和异步;
4.2,线程状态的阻塞和非阻塞;
4.3,线程间竞争资源而产生的,竟态和临界区问题。
4.4,为了解决资源,并发问题,而提出锁两种解决方案,信号量(Semaphere)和管程(Monitor),(特别说明Java采取的是管程)

这里的概念就不一一张开了,想要进一步了解其中多个概念的话可以去GitHub里面看大佬的文章,就不再说明了:
https://dunwu.github.io/javacore/concurrent/Java%E5%B9%B6%E5%8F%91%E7%AE%80%E4%BB%8B.html#_4-3-%E9%A5%A5%E9%A5%BF-starvation
这里私人赠送,本人画的进程和线程的关系,阻塞和非阻塞,间的关系图:
在这里插入图片描述
制作不易,走过路过,麻烦给个赞谢谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值