面试官:公司项目中Java的多线程一般用在哪些场景?

本文通过哲学家就餐问题探讨了多线程中的死锁和资源耗尽问题,指出在计算机系统中,类似的问题可能导致程序无法正常运行。文章提到,避免这些问题的一种策略是使用资源加锁,但即使如此,仍可能出现活锁。作者推荐了一次训练营,旨在帮助读者深入理解并解决这类面试难题,提升代码质量和面试表现。训练营将涵盖多个线程相关难题,并提供丰富的面试题资料作为福利。
摘要由CSDN通过智能技术生成

最近,这条字节员工发布的朋友圈一夜刷爆网络,字节跳动大裁员的消息,引起了行业内的巨大震荡。

83246c1ca3238d1ef937772b54223823.png

图片来源:网络

这次真的是不想跳槽也得跳槽了…,然后,竟然死在了上大学时候的一道题上,早知道大学好好学不泡妹子了128fe631c7bbeb26b9a7174241ddda69.png

题目长这样式儿:假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭或者思考

吃东西的时候,他们就停止思考,思考的时候也停止吃东西。餐桌中间有一大碗意大利面,每两个哲学家之间有一只餐叉。

d00b3bdfe8266b1cab5e4b8e35e6f041.png

不过哲学家从来不交谈,这就很危险,可能产生死锁,每个哲学家都拿着左手的餐叉,永远都在等右边的餐叉(或者相反)。

即使没有死锁,也有可能发生资源耗尽。例如,假设规定当哲学家等待另一只餐叉超过五分钟后就放下自己手里的那一只餐叉,并且再等五分钟后进行下一次尝试。

这个策略消除了死锁,但仍然有可能发生活锁。

如果五位哲学家在完全相同的时刻进入餐厅,并同时拿起左边的餐叉,那么这些哲学家就会等待五分钟,同时放下手中的餐叉,再等五分钟,又同时拿起这些餐叉。

f95822e10aabcd9a42f982de6bec5a46.png

在实际的计算机问题中,缺乏餐叉可以类比为缺乏共享资源。

一种常用的计算机技术是资源加锁,用来保证在某个时刻,资源只能被一个程序或一段代码访问。

当一个程序想要使用的资源已经被另一个程序锁定,它就等待资源解锁。当多个程序涉及到加锁的资源时,在某些情况下就有可能发生死锁。

例如,某个程序需要访问两个文件,当两个这样的程序各锁了一个文件,那它们都在等待对方解锁另一个文件,而这永远不会发生。

具体落地到代码,你知道如何实现吗?学会这道题,之后面试官再问你的时候就再也不怕了,纯纯的加分项!

推荐你来听一下马老师这次的训练营,老牛X了除了这道经典的哲学家就餐问题,还有剩下的5道线程题,一个比一个狠。。。

报名方式,我放下面了!具体的你们可以看看大纲。而且马老师还在直播间给大家准备了超多的福利!

1a0ac3da1294e34cfacd5d7244d7d3e6.png

扫下方二维码,才能获取上课权限

50393642ad6e8d57683c28630b8e2895.png

01

听完可以得到什么?

在你认真听完本次的直播课后,我相信你一定会有以下几个方面的提升!

  1. 系统梳理线程的执行流程及各阶段状态;

  2. 从全局思考如何解决业务问题,而不是局限于某个方面;

  3. 提高代码质量和瓶颈定位及调优能力;

  4. 助力面试中表现出色,取得更高水平的薪资;

  5. 对照知识体系,查漏补缺。

  6. 系统掌握一线互联网大厂的多线程知识体系和优化方案

参与本期训练营获得以下三大福利

5ff09a847437bba28a77a6cece4f21ee.png

福利一:160道大厂面试题

bec9339e90049e260c9e5af727ddf064.png

391b37dd94e199d6e5985d318209b64d.png

f628980397dcd707d91fc6c300efbf26.png

福利二:1700页面试必问面试题

e75064f1f2214964cf8b42c77a2123bb.png

a2c6060b94f613f17364a3f947e96a71.png

6f52844caa2eac99c6d5dad4dcb068d8.png

福利三:听课有奖

a76a9b55e2d32894f66defb524b4e935.png

8962f53fe23f16998e694c0d6d419979.png

机会稍纵即逝,把握住现在

未来的质变或许就在这一瞬间

2节课 300分钟 

 直击升职加薪难的问题 

▼长按下方二维码报名▼

c939f92bff5bafb14956bf048acd255c.png

扫码立即参与,仅剩53个名额

0f8072b64491cbd9c14c53f4e79d18e7.gif e08086e3116ad35c89b02a49b655eae7.gif ba5a3a53de078eef3354f2331c980e88.gif db1c6b2a3e99926be4f91df31d05b2c8.gif 49c07a89f027c01411d2a9366882f08f.gif 9e6dc69eee9a7cac2f414964ff34ee37.gif e9fe85ff8862f09c909fa03fcf50d5c3.gif daa9bb772120c6d42023b61c0ac6befd.gif

914abfe51edf71e1999374d519104286.gif bdf01824933d154b96938e173e807851.gif cf4acc444d30f176a1cdecc62a466d3d.gif 8b8b95b4352b0f002822cef5d92de89a.gif 6d62a71f6c4e86f2ce94d5eb3ef343ac.gif 3974774bd4f2798419e645e710dbaa90.gif 5fe6dcfc05d7a860fb02e42e00c49152.gif c9269c8ade4d3c9f54cbc69c1a26aae6.gif

(内容的价值取决于您的行动,千万莫做收藏家)

Q&A

Q:如何获取上课链接?

A:扫码后,根据指引添加助教小姐姐,助教小姐姐及时通过好友,请耐心等候~

Q:学习方式是怎样的?

A:本次训练营为全程直播分享,遇到任何问题都可以咨询助教或在直播间提问。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值