多线程
2024-11-27 16:21:35 0 举报
AI智能生成
java多线程思维导图
作者其他创作
大纲/内容
Thread类的常用方法和生命周期
构造方法
public Thread()
public Thread(String name)
public Thread(Runnable target)
public Thread(Runnable target , String name)
常用方法
.start():
run()
currentThread()
getName()
setName()
sleep(long millis)
yield()
join()
isAlive()
线程的优先级
getPriority()
setPriority()
Thread类内部声明的三个常量
-MAX_PRIORITY(10)
-MIN_PRIORITY(1)
-NORM_PRIORITY(5)
生命周期
JDK1.5前
新建,就绪,运行,阻塞,死亡
JDK1.5后
新建,就绪+运行,计时阻塞,无限等待阻塞,锁阻塞,死亡
单例的懒汉式线程安全问题
单例术语解释
单例的饿汉式
单例的懒汉式/指令重排
解决方法1:共享的数据前加入volatile
解决方法2:双重检查锁
解决方法3:静态内部类
线程之间的通信机制
线程之间的等待、唤醒机制(wait、notify)
线程之间共享内存通信
线程之间并发队列、管道和消息中间件
线程的信号量(Semaphore)
线程条件变量(Condition)
异步编程模型:
线程、进程、程序的概念区别
多个线程的内存
线程调度
多线程的优点
并行与并发
并行
并发
线程级并发
指令级并发
数据库级并发
进程级并发
数据
创建和启动线程
继承Thread
实现Runnable接口
线程的代理模式
实现Callable接口
使用线程池(在实际开发中经常使用)
线程的安全问题与同步机制
安全问题
同步机制
synchronized(同步监视器)
声明synchronized的方法
弊端:死锁
解决方法1:全部释放再请求
解决方法2:自己优先释放
解决方法3:按顺序取用
解决方法4:Lock锁
Lock锁
共同点和不同点/使用继承修改共享数据
匿名实现类与其它子类的优先级问题
0 条评论
下一页