java面试题

##java面试题

#####1、可以直接调用Thread()类的run()接口吗?

  • 可以,得把如果我们调用了Thread的run()方法,它的行为就和普通方法一样,未来在新的线程中执行我们的代码,我们必须使用Thead.start()方法。
    #####2、如何让正在运行的线程暂停一段时间?
  • 我们可以使用Thread类中的Sleep()方法来使线程暂停一段时间。需要注意的是, 这并不会让线程终止,一旦从休眠中唤醒线程,线程的状态会改变成Runnable,并且根据线程的调度,它将会得到执行。

一般来说,高优先级的线程在运行时会有优先权,但这依赖于线程调度的实现,这个实现是和操作系统相关的。我们可以定义线程的优先级,但这并不能保证高优先级的线程会在低优先级的线程前执行。线程是一个int变量(从1-10),1代表最低优先级,10代表最高优先级。

#####3、为什么wait(),notify()和notifyAll()必须在同步方法或者同步模块中被调用?

  • 当一个线程在需要调用对象的wait()方法的时候,这个线程必须拥有该对象的锁,接着它就会释放这个对象锁并进入等待状态直到其他的线程调用这个对象的notify()方法。同样的,当一个线程需要调用notify()方法时,它会释放这个对象的锁,一边其他在等待的线程就可以得以实现这个对象锁,由于所有的这些方法都需要线程持有对象的锁,这样就只能通过同步来实现,所有他们只能在同步方法或者同步块中被调用。

asjkhkjshkjsah会计师的痕迹加厚的艰苦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值