唉,真tm上火,面试官又给我上了一课。前两天去某厂面试,问了我一道什么哲学家就餐问题。

真的,太难搞了,而且还挺经典的!反正我是不会,我给你们分享一下,如果你近期也打算跳槽,或者想涨涨知识的,我建议你好好看看这个!

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

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

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

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

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

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

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

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

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

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

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

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

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

原价 ¥99,限时 ¥0.02 立刻学习!

扫码回复关键词013

才能获取上课权限

【一定要回复关键词】

01

听完可以得到什么?

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

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

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

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

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

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

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

02

课堂福利

送:最新总结:100道面试题以及解题秘籍

还有超细致的 课前预习资料 哦~

如果你是一名:

✔ Java开发工程师

✔ Java业务架构师

✔ Java系统架构师

✔ Java爱好者

✔ 想要跳槽涨薪的

✔ 技术负责人/技术经理/技术总监

✔ 项目经理/项目总监

✔ 想要转型架构师的

......

那么这次训练营,就是特地为你准备的! 

天时间,300 分钟

6道经典线程面试题

直戳你【升职加薪难】的真正原因

帮你在金九银十前夕,打一场翻身仗

如果你对目前的薪水不满意

这次训练营你一定要来

扫码回复关键词013

才能获取上课权限

【一定要回复关键词】

本公众号仅限前60名特惠购买

请您耐心等待课程顾问通过

这周面了阿里,多线程都要问这么难了???相关推荐

  1. 2020.5.2 Redis 都6.0了 最新特性你get了吗?:多线程连环 13 问!

    支持多线程的Redis6.0版本于2020-05-02终于发布了,为什么Redis忽然要支持多线程?如何开启多线程?开启后性能提升效果如何?线程数量该如何设置?开启多线程后会不会有线程安全问题?多线程 ...

  2. wince支持多线程编程吗_以前面试只问多线程,现在都开始问响应式编程了!我懵了...

    以前面试只问多线程,现在都开始问响应式编程了! 看完这篇文章你就能有个大体的了解了. 基本介绍 目前比较流行的编程方法论有函数式编程(functional programming).响应式编程(rea ...

  3. 南京 超级计算机,这周武汉南京合肥杭州都要下雪?超级计算机:还有变数

    原标题:这周武汉南京合肥杭州都要下雪?超级计算机:还有变数 12月3日下午,一道庞大的冷空气云带矗立在我国我国北方上空,它正在给我国北方的华北东北等地带来大风降温天气,但对于南方来说,这场冷空气实则影 ...

  4. 多元高斯分布异常检测代码_数据科学 | 异常检测的N种方法,阿里工程师都盘出来了...

    ↑↑↑↑↑点击上方蓝色字关注我们! 『运筹OR帷幄』转载 作者:黎伟斌.胡熠.王皓 编者按: 异常检测在信用反欺诈,广告投放,工业质检等领域中有着广泛的应用,同时也是数据分析的重要方法之一.随着数据量 ...

  5. Redis 6.0 新特性-多线程连环13问!

    来自:码大叔 导读:支持多线程的Redis6.0版本于2020-05-02终于发布了,为什么Redis忽然要支持多线程?如何开启多线程?开启后性能提升效果如何?线程数量该如何设置?开启多线程后会不会有 ...

  6. Redis 6.0 新特性,多线程连环 13 问!

    导读:支持多线程的Redis6.0版本于2020-05-02终于发布了,为什么Redis忽然要支持多线程?如何开启多线程?开启后性能提升效果如何?线程数量该如何设置?开启多线程后会不会有线程安全问题? ...

  7. Redis 6.0 新特性:多线程连环 13 问!

    来源 | 码大叔 责编 | Carol 封图 | CSDN付费下载自视觉中国 支持多线程的Redis6.0版本于2020-05-02终于发布了,为什么Redis忽然要支持多线程?如何开启多线程?开启后 ...

  8. Redis 6.0 新特性-多线程连环 13 问!

    Redis 6.0 来了 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之 ...

  9. Redis 6.0 新特性-多线程连环13问

    支持多线程的 Redis 6.0 版本于 2020-05-02 终于发布了,为什么 Redis 忽然要支持多线程?如何开启多线程?开启后性能提升效果如何?线程数量该如何设置?开启多线程后会不会有线程安 ...

最新文章

  1. ECMAScript——基本数据类型之null和undefined
  2. 【Linux 内核】SMP 对称多处理器结构 ( SMP 对称多处理器结构概念 | SMP 对称多处理器结构的优势与缺陷 | Linux 内核兼容多处理器要求 )
  3. 1.7 matlab矩阵元素的引用(可通过下标和序号引用)
  4. 什么地方容易刷出ak_CSGO皮肤推荐——AK燃料喷射器
  5. 【SQL Join】两个字段关联到同一个表,如何使用left join
  6. 访问 IIS 元数据库失败 的解决方法
  7. java国际化——日期和时间+排序
  8. 大数据场景下Volcano高效调度能力实践
  9. Linux内核开发:内核模块参数
  10. ## normalize.css 中文版
  11. Debian GNU/kFreeBSD是什么
  12. css布局-margin溢出
  13. SaltStack系列(二)之常用模块介绍
  14. C-LODOP打印插件使用
  15. MySQL的json查询之->、->>、json_extract、json_unquote
  16. [AI-Steering编程]九.路径跟随
  17. 工程思维把每件事都当作一个项目来做
  18. Arduino开发实例-433M无线模块数据发送与接收
  19. 一招破解外网访问公司内网svn服务器
  20. 一些相似单词的区别之处

热门文章

  1. SCN Headroom与时光倒流到1988年的Oracle数据库
  2. SuperSocket 1.5 Documentation译文 2 ----- 实现你的AppServer和AppSession
  3. STM32F103C8T6
  4. linux 毕业设计 apache,毕业论文基于Linux的Apache服务器的设计与设计6喜欢就下吧...
  5. 基于Spring Cloud实现微服务前后端系统
  6. Boost Asio总结(15)class basic_stream_socket
  7. 石墨烯区块链(3)软件升级
  8. BUUCTF——[ACTF新生赛2020]SoulLike——使用angr解
  9. 哈希表(散列表)知识点概述
  10. django中序列化、反序列化过程