线程 Thread
线程的创建 Thread
线程是通过 Thread 类来实现的
1.Java中负责实现线程功能的类是java.lang.Thread 类。
2.可以通过创建 Thread的实例来创建新的线程。
3 每个线程都是通过某个特定的Thread对象所对应的方法run( )来
完成其操作的,方法run( )称为线程体。
4 通过调用Thread类的start()方法来启动一个线程。
1.线程的创建方式:
第一种 继承 Thread 重写run
调用 start 这个时候 是 run 和主函数 同时运行 (程序执行)
第二种 实现Runnable接口 重写 run
调用start 启动
2.线程的状态:
new新建状态 : 没有准备就绪,没有CPU的执行权
start 就绪状态 只差cpu的执行权
运行状态
堵塞状态
死亡状态
这处需要画脑图~~
3.特点
.java中类与类之间是单继承, 实现是多实现
.实现接口的方式可以进行数据共享
4
主线程 main
子线程
5.终止线程 run()结束
6.休眠函数
Thread.sleep();
TimeUnit 枚举 有限个数的类
7.线程的让步 yield()
让当前正在运行的线程 回到就绪状态
8.线程的联合(插队)由并行变为串行
join();快捷键 Ctrl +Alt +
插队 就是串行
9线程的优先级
线程默认优先级为5;
MAX PRIORITY 10
MIN PRIORITY 1
NORM PRIORITY 5
10 守护线程
被创建的线程默认是用户线程
特点
当所有用户线程结束时,守护线程随之结束
thread1.setDaemon(true);
11同步代码块
syn(对象锁){需要被同步的代码}
对象锁:
1.字符串 不推荐使用(容易死锁)
2.字节码文件:内存中独一份 静态的 拦截所有
3.This :对象 非静态
12 同步函数
1.普通同步函数 对象锁 是This
2.静态同步函数 对象锁 是 当前类的字节码文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!