JAVA多线程(二 )

1.多线程常用方法对比

1.1 start与run的区别

  • start()方法是用来启动线程,使线程处于就绪状态。
  • run()方法内写着线程执行的逻辑,开始执行run()方法时线程处于运行状态,当run()方法执行完毕后,线程处于死亡状态。

1.2 sleep与wait的区别

  • sleep()属于Thread类/
  • wait()属于Object类。
  • sleep()方法被调用后,线程不会释放对象锁,只是暂停指定的时间,当时间到了又会变成运行状态。
  • wait()方法被调用后,线程会释放对象锁,并进入等待池。当此对象调用notify()、notifyAll()方法后才有机会变为运行状态。

2.守护线程

  • 守护线程是后台线程,它有一个特性,即为用户线程 提供公共服务,在没有用户线程可服务时会自动离开。
  • 通过 setDaemon(true)来设置线程为“守护线程”;在 Daemon 线程中产生的新线程也是 Daemon 的。
  • 线程则是 JVM 级别的。
  • 垃圾回收线程就是一个经典的守护线程。

3.线程常用方法

  1. sleep():线程睡眠(毫秒)。
  2. join(): 等待线程终止。
  3. activeCount(): 程序中活跃的线程数。
  4. currentThread(): 得到当前线程。
  5. isDaemon(): 一个线程是否为守护线程。
  6. setDaemon(): 设置一个线程为守护线程。
  7. setName(): 为线程设置一个名称。
  8. wait(): 强迫一个线程等待。
  9. notify(): 通知一个线程继续运行。
  10. isAlive(): 判断一个线程是否存活。
  11. getPriority()::获得一个线程的优先级。
  12. setPriority(): 设置一个线程的优先级。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值