Java多线程中常见面试题

1、多线程有几种实现方案,分别是哪几种?

  • 继承 Thread 类
  • 实现 Runnable 接口
  • 通过线程池,实现 Callable 接口

2、同步有几种方式,分别是什么,并分别说出其同步锁对象?

  • 同步代码块 ==> 同步锁对象为:任意对象
  • 同步方法 ==> 同步锁对象为:this
    静态同步方法 ==> 同步锁对象为:本类名.class

3、启动一个线程时 run() 还是 star() , 说说他们的区别?

  • star():用来启动线程,并调用线程中的 run() 方法
  • run():执行该线程对象要执行的任务

4、sleep() 和 wait() 方法的区别?

  • sleep():不释放锁对象,释放 CPU 使用权,在休眠的时间内不能唤醒
  • wait():释放锁对象,释放 CPU 使用权,在等待时间内,能唤醒

5、为什么 wait()、notify()、notifyAll() 等方法都定义在 Object 类中

  • 因为这些方法在使用的时候要注明所属的锁,而锁又是任意对象,所以这些方法是定义在 Object 类中的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ONESTAR博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值