JUC并发编程(2)Java线程常用方法

1. Start & Run 方法

  • start 方法
    • 用于启动线程,调用 run() 方法。线程实际运行时是在调用 start() 方法之后。
    • 只能被调用一次,多次调用会抛出 IllegalThreadStateException 异常。
  • run 方法
    • 线程对象自动会调用的实例方法。

2. Sleep & Yield 方法

  • Sleep 方法
    • 让当前线程进入 Timed Waiting 状态。
    • sleep() 方法可以被 interrupt() 方法打断并抛出 InterruptedException 异常。
    • 用法:
      Thread.sleep(1000); // 睡眠 1 秒
      
  • Yield 方法
    • 让当前线程让出 CPU 使用权,但是不会进入 Blocked 状态。
    • 实际效果因平台不同,可能不起作用。

3. Join 方法

  • join 方法
    • 使当前线程等待另一个线程执行完成后再继续执行。
    • 用法:
      t1.join(); // 等待 t1 线程执行完毕
      

4. Interrupt 方法

  • interrupt 方法
    • 打断正在运行的线程。
    • 常用于中断正在执行的线程。
    • t1.interrupt(); // 打断 t1 线程
  • isInterrupted 方法
    • 判断线程是否被中断。
    • 用法:
      t1.isInterrupted(); // 判断 t1 线程是否被中断
      
  • interrupted 方法
    • 判断当前线程是否被中断,并清除中断状态。
    • 用法:
      Thread.interrupted(); // 判断当前线程是否被中断并清除中断状态
      

补充说明

  • sleep() 方法可以通过 TimeUnit 类来方便地设置睡眠时间。
  • yield() 方法不一定总是有效,其效果可能因平台和 JVM 实现不同而有所差异。
  • join() 方法常用于等待某个线程执行完成,以实现线程间的同步。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值