线程状态及方法

线程的五个状态图解:在这里插入图片描述

线程的方法

  • setPriority(int newPriority) 更改线程的优先级
    Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度
    器按照优先级决定应该调度哪个线程来执行。
    线程的优先级用数字表示,范围从1~10. u Thread.MIN_PRIORITY = 1;
    Thread.MAX_PRIORITY = 10;
    Thread.NORM_PRIORITY = 5;
    使用以下方式改变或获取优先级
    getPriority() . setPriority(int xxx)
  • static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休 眠
    sleep (时间) 指定当前线程阻塞的毫秒数;
    sleep存在异常InterruptedException;
    sleep时间达到后线程进入就绪状态;
    sleep可以模拟网络延时,倒计时等。
    每一个对象都有一个锁,sleep不会释放锁;
  • void join() 等待该线程终止
  • static void yield() 暂停当前正在执行的线程对象,并执行其他线程
  • void interrupt() 中断线程,别用这个方式
  • boolean isAlive() 测试线程是否处于活动状态
  • Thread.State 查询当前线程状态

停止线程

  • 一般都不用stop方法,destroy()方法,已经废弃,推荐使用标识符,如当flag=false时,停止

守护(daemon)线程

  • java中有两种线程,一种时用户线程,一种时守护线程 JVM不会管守护线程,当用户线程执行完,守护线程没有了需要守护的对象,也就结束了
    也就是说JVM虚拟机只会确保用户线程执行完,不会等待守护线程执行完

    用个比较通俗的比如,任何一个守护线程都是整个JVM中所有非守护线程的保姆:

    只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。
    Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值