首页 > 编程语言 >java面试题--多线程

java面试题--多线程

时间:2023-04-26 13:46:28浏览次数:40  
标签:面试题 哲学家 -- 死锁 线程 筷子 多线程

一、哲学家就餐问题?

线程死锁问题。

解决死锁问题的方法:

  1. 增加锁的粒度。所有筷子放到一把大锁里。每次都锁定所有筷子。每次只能有一个哲学家抢到筷子,效率不高。
  2. 有一个哲学家是左撇子。每次只能有一个哲学家抢到筷子,效率不高。
  3. 每隔一个人就是一个左撇子。

二、交替输出问题?

解题方法:

  1. LockSupport.park();//阻塞线程   LockSupport.unpark();//唤醒线程
  2. 使用synchronized锁。

三、线程的nofity()方法按照什么顺序唤醒等待队列中的线程?

 

标签:面试题,哲学家,--,死锁,线程,筷子,多线程
From: https://www.cnblogs.com/aleda-territory/p/17355639.html

相关文章

  • 快速上手Linux核心命令(六):Linux的文本编辑器vi和vim
    @目录前言简介小试牛刀vi/vim工作原理及三种模式常用快捷键命令行图解前言上一篇中已经预告,我们这篇主要说Linux中vi/vim编辑器。它是我们使用Linux系统不可缺少的工具,学会了,你就可以在Linux世界里畅通无阻,学废了,常用操作你也会了,也是够用了,O(∩_∩)O简介vi是Linux系统下标......
  • wpf中IValueConverter的两种实现方式(key和静态实例)以及 ValueConversion 特性
    使用值转换器的场景:你得到一个值,你需要根据你的需求转成另一个东西,可以是图片、对象等等都行传入的是object,传出的也是object,使用值转换器需要继承接口:IValueConverter里面有两个方法Convert和 ConvertBackConvert很好理解:你把xaml中某个对象中的某个属性或其他值传递到Value......
  • 美化博客园主题
    美化博客园主题--11、进入博客园管理界面2、点击上方的设置,进入设置页面3、修改皮肤为Custom4、同时申请js权限理由:想美化一下自己的博客园等待审核通过(这里很快的咯)审核通过(可以在消息里察看):5、页面定制CSS代码将下面的代码复制粘贴入即可@keyframesspin3D{from......
  • 直线与平面的交点
    参考:[1]https://zh.wikipedia.org/wiki/线面交点[2]https://www.cnblogs.com/graphics/archive/2010/07/10/1774809.html[3]https://baike.baidu.com/item/点到平面距离/10690055......
  • react点击滑块验证
     css.wrap-num{width:300px;}@keyframesdefaultWave{0%{transform:scale(1);}20%{transform:scale(1.23);}40%{transform:scale(1);}100%{transform:scale(1);}}//旋转@keyframesloadingWave{0%{......
  • 网卡配置文件详解
    #动态ip[root@qls~]#cat/etc/sysconfig/network-scripts/ifcfg-eth0TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="dhcp"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes......
  • 为 vnpy 回测增加指标显示
    添加一个指标类:fromvnpy.trader.uiimportQtCore,QtGuifromvnpy.trader.objectimportBarDatafromvnpy.chart.baseimportBLACK_COLOR,UP_COLOR,DOWN_COLOR,PEN_WIDTH,BAR_WIDTH,WHITE_COLORfromvnpy.chart.itemimportCandleItemfromvnpy.trader.objectim......
  • go channel源码阅读
    gochannel源码阅读channel介绍channel是一个类型管道,通过它可以在groutine之间发送消息核心数据结构channel内部数据结构是固定长度的双向循环列表按顺序往里面写数据,写满之后又从0开始写chan中的两个重要组件是buf和waitq,所有的行为和实现都是围绕着两个组件进行的typ......
  • 4.Spring中IOC创建对象的两种方式和创建时机
    https://blog.csdn.net/jike11231/article/details/116357864 创建时机1:默认的在Spring容器启动的时候2:在getBean的时候创建对象(就是拿到配置文件中的标识符的时候创建对象)在Spring的配置文件bean中有一个属性lazy-init=“default/true/false”(1)如果lazy-init为"default/f......
  • A. Make it Beautiful - 构造 + 数学
    题意:给定一个单调递增的数组,是否能通过任意调整顺序使对任意一个元素a[i]满足a[i]!=a[1]+a[2]+a[3]+...+a[i-1],如果能,输出“YES”并输出修改后的数组;如果不能输出“NO”。分析:如果数组元素都相等则一定不能满足条件,由于数组单调递增,所以只需要把a[1]后面的元素从大到小......