Java线程常用的方法

    1. 常用的方法第一组
      1. setName //设置线程名称,使之与参数 name 相同
      2. getName //返回该线程的名称
      3. start //使该线程开始执行:Java 虚拟机底层调用该线程的 start0 方法
      4. run //调用线程对象 run 方法:
      5. setPriority //更改线程的优先级
      6. getPriority //获取线程的优先级
      7. sleep//在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
      8. interrupt //中断线程(不是终止线程)
    2. 注意事项和细节
      1. start 底层会创建新的线程,调用run,run 就是一个简单的方法调用,不会启动新线程
      2. 线程优先级的范围(MAX_PRIORITY = 10,MIN_PRIORITY = 1,NORM_PRIORITY = 5)
      3. interrupt,中断线程,但并没有真正的结束线程。所以一般用于中断正在休眠线程
      4. sleep:线程的静态方法,使当前线程休眠
    3. 线程常用方法的第二组
      1. yield:线程的礼让。让出cpu,让其他线程执行,但礼让的时间不确定,所以也不一定礼让成功
      2. join:线程的插队。插队的线程一旦插队成功,则肯定先执行完插入的线程所有的任务案例:创建一个子线程,每隔1s 输出 hello, 输出 20次,主线程每隔1秒,输出 hi,输出 20次.要求: 两个线程同时执行,当主线程输出 5次后,就让子线程运行完毕,主线程再继续
    4. 用户线程和守护线程
      1. 用户线程:也叫工作线程,当线程的任务执行完或通知方式结束
      2. 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束
      3. 常见的守护线程:垃圾回收机制
相关推荐
冻柠檬飞冰走茶13 小时前
PTA基础编程题目集 7-13 日K蜡烛图(C语言实现)
c语言·开发语言·数据结构·算法
AI_paid_community13 小时前
机械研发人员如何使用 Claude?
java·vue.js
MacroZheng13 小时前
同事:“Claude Code都能自动写代码了,还要什么Spec Coding?” 我反问:“屎山代码你来维护?”
java·人工智能·后端
csdn_aspnet13 小时前
C# 从凸包中删除点(Deleting points from Convex Hull)
开发语言·c#
cts61813 小时前
Python全栈claude.md文档
开发语言·python
未秃头的程序猿13 小时前
JDK 26的Value Class,我做了个性能测试,结果出乎意料
java·后端·面试
Zane199413 小时前
volatile / synchronized / final:三大特性(原子性/可见性/有序性)到底谁保证了什么?
java·后端
巴勒个啦13 小时前
从需求到上线:记录一次完全由 AI 辅助完成的小产品全流程
java·前端
名字还没想好☜13 小时前
Spring @Async 不生效排查:自调用失效、默认线程池坑与异步方法里的异常去哪了
java·python·spring·异步
wechatbot88813 小时前
解决企业微信官方 API 短板:iPad 协议全功能对接方案
java·汇编·windows·http·微信·企业微信