java多线程-Thread类的一些基本API

1 @Deprecated(since="1.2")Thread.stop()

该方法被声明为废弃方法,不推荐使用,该方法过于暴力,强制结束。该方法会释放它所有的监视器锁,可能会导致数据不一致的问题,举个简单的例子比如i++操作,在一个线程读取I值后被stop掉,其他线程在读取I之后取到的结果是未被写入的结果。

2 Thread.sleep(long millis[,nanos])

使当前正在执行的线程进入睡眠状态(暂时停止执行)以指定的毫秒数为准,线程不会失去任何监视器的所有权。第二个可选参数可以额外的将睡眠时间精确到纳秒。

3 Thread.yield()

让出当前线程的调度权力,但不保证下次竞争还会抢到CPU时间

4 Thread.interrupt(),Thread.interrupted(),Thread.isInterrupted()

中断线程,往往配合isInterrupted方法,优雅的终止线程

interrupted和isInterrupted方法都是判断线程是否被中断,但是interrupted方法会清除当前的中断状态。

也就是说该方法如果被连续调用两次第二次会返回false,除非线程再次被interrupt。

5 Thread.isAlive()

      判断线程是否存在,是不是非TERMINATED状态。

6 @Deprecated Thread.suspend(),@Deprecated Thread.resume()

suspend方法挂起一个线程直到该线程被调用resume方法才可以继续执行,suspend方法不会释放锁,在JDK1.2后被声明废弃,因为如果suspend先与resume发生则就会发生死锁。

7 Thread.join([,long millis])

该方法的语义就是当前线程等在待被join的线程上,直到被join的线程结束,当前线程才可以继续执行。

8 setDaemon(boolean on),isDaemon()

守护线程,需要注意的是必须在start方法之前进行设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值