400-700-1307

【Java面试题】简述创建多线程的方式?线程死锁

2019-01-29 13:49

简述创建多线程的方式?线程死锁是如何产生的?同步的实现方式?

答案:
<1>方式:

    继承Thread、实现 Runnable 接口

<2>产生:

     一个资源每次只能被一个进程使用

     一个进程因请求发生阻塞时,依然对已获得的资源保持不放

     进程已经获得资源使用权,但是一直未使用

     同一个进程,频繁的获取资源的优先使用权,一直未释放

<3>防止:

     加锁顺序(线程按照一定的顺序加锁)

加锁时限(线程尝试获取锁的时候加上一定的时限,超过时限则放弃对该锁的请求,并释放自己占有的锁)

     死锁检测(一般是将所有的锁存放于map对象中,检测map中的锁)

<4>同步方式

同步代码块

同步方法

Lock锁

开班信息

当前校区

北京校区
  • 北京校区
  • 上海校区
  • 广州校区
  • 沈阳校区
  • 杭州校区
  • 南京校区
  • 郑州校区
  • 成都校区
  • 深圳校区
  • 西安校区
  • 苏州校区
  • 深圳沙井
  • 深圳观澜
  • 深圳龙岗
  • 武汉校区
  • 西宁校区
  • 石家庄校区
  • 湖北咸宁
  • 广东惠州
  • 广东佛山

                    Copyright © 2007-2019 IT兄弟连教育 版权所有 京ICP备11018177号  京公网安备 11010802026987号