java多线程常用方法总结概述及其优先级

Thread类中的常用方法:
1.start():启动当前线程;调用当前线程的run()
2.run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中
3.currentThread():静态方法,返回当前代码中的线程
4.getName():获取当前线程的名字
5.setName():设置当前线程的名字
6.yeild():释放当前线程的控制权    // 可能释放之后又会被CPU给予,所以有时候没啥用
7.join():在线程a中调用线程b的join(),此时线程a就进入到阻塞状态,直到线程b完全执行完以后,线程a才结束阻塞状态。    // 在线程中调用线程a.join()会让a进入阻塞,让后面的线程先走完,再走线程a
8.stop():已过时。当执行该方法时,强行结束当前线程。
9.sleep(long millitime):让当前线程"睡眠"指定的millitime毫秒。在指定的millitime毫秒时间内,当前线程是阻塞状态。    // 睡眠指定的时间,会影响到线程的速度,相当于变相阻塞线程了,但有时间
10.isAlive():判断    当前线程是否存活        // 活着true,反之false

线程的优先级:
1.
MAX_PRIORITY:10
MIN_PRIORITY:1
NORM_PRIORITY:5    // 标准值
2.如何获取和设置当前线程的优先级
getPriority():获取线程的优先级
setPriority():设置线程的优先级
说明:高优先级要抢占低优先级线程的CPU执行权。但是只是从概率上讲,高优先级的线程高概率的情况下被执行,并不意味着,当高优先级的线程执行完以后,低优先级的线程才执行。

线程通信: wait() / notify() / notifyAll() :这三个方法定义在Objcet类中。

补充:线程的分类
Java中的线程分为两类:一类是守护线程,一类是用户线程
举例:main方法是一种用户线程,gc()垃圾回收机制是一种守护线程
当JVM中都是守护线程时,当前JVM将结束,也就是说main方法执行结束,那么gc()也将退出
形象理解:兔死狗烹,鸟尽弓藏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值