【第八章 Thread类中的常用方法、线程优先级、线程生命周期】

第八章 Thread类中的常用方法、线程优先级、线程生命周期

1.Thread类中的常用方法
①start():启动当前线程,调用当前线程的run();
②run():通常需重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中;
③currentThread():静态方法,返回当前代码的线程;
④getName():获取当前线程的名字;
⑤setName():设置当前线程的名字;
⑥yield():释放当前CPU的执行权;
⑦join():在线程a中调用线程b的join方法,此时线程a就进入阻塞状态,直到线程b完全执行完以后,线程a才结束阻塞状态;
⑧stop():已过时,当执行此方法时,强制结束当前线程;
⑨sleep(long millitime):让当前线程睡眠指定的millitime毫秒,在指定的millitime毫秒时间内,当前线程是阻塞状态;
⑩isAlive():判断当前线程是否还存活。
2.线程的优先级
①MAX_PRIORITY:10
MIN _PRIORITY:1
NORM_PRIORITY:5
②如何获取和设置当前线程的优先级:
getPriority() :返回线程优先级
setPriority(int newPriority) :改变线程的优先级
③说明:高优先级的线程要抢占低优先级线程CPU的执行权,但这只是从概率上来讲,高优先级的线程高概率的情况下被执行,并不意味着只有当高优先级的线程执行完以后,低优先级的线程才执行。
3.线程的生命周期
①新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建
状态;
②就绪:处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已
具备了运行的条件,只是没分配到CPU资源;
③运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态, run()方法定义了线
程的操作和功能;
④阻塞:在某种特殊情况下,被人为挂起或执行输入输出操作时,让出 CPU 并临时中
止自己的执行,进入阻塞状态;
⑤死亡:线程完成了它的全部工作或线程被提前强制性地中止或出现异常导致结束。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值