JAVA求学之路第十九天(多线程)
来源:互联网 发布:背单词软件 知乎 编辑:程序博客网 时间:2024/05/19 16:05
第1章 多线程
1.1 线程和进程
l 进程:正在运行的程序。
l 线程:进程中的一个执行单元,每一个线程都是一条执行任务的路径
1.2 第一种实现方式
01. 定义类,然后继承Thread类
02. 重写run方法,run方法是线程任务方法
03. 创建这个类的对象,然后调用start方法启动线程
1.3 第二种实现方式
01. 定义类(线程任务类),实现Runnable接口
02. 重写run方法
03. 创建Thread对象,在构造方法中传入线程任务类对象
04. 调用Thread对象start方法,开启线程
l 好处:解决了第一种实现方式的单继承的弊端
1.4 常用的方法
l void setName(String name);设置线程名字
l String getName();获取线程名字
l static ThreadcurrentThread();获得到当前正在执行的线程对象
l static void sleep(long millis);让线程睡眠
1.5 同步代码块
格式:
synchronized(对象锁) {
要同步的代码
}
注意:只有持有锁的线程才能够进入到同步代码块中
优点:保证线程安全
缺点:效率低
1.6 同步方法
格式:
修饰符 synchronized 返回值 方法名字(参数列表) {
}
作用:保证线程安全,只有一个线程可以进入到同步方法中
如果同步方法是非静态,锁的是this
如果同步方法是静态,锁的是当前类的字节码,类名.class
1.7 生命周期
新建---就绪---运行---死亡
||
等待
1.8 死锁
两个以上的线程,各自持有一把对象锁,并且等待其他线程释放锁对象
0 0
- JAVA求学之路第十九天(多线程)
- JAVA求学之路第九天
- JAVA求学之路第十七天(File&&InputStream&&OutputStream)
- JAVA求学之路第十八天(各种流&&Proterpties)
- JAVA求学之路第十天
- JAVA求学之路第十三天
- JAVA求学之路第十三天
- JAVA求学之路第十五天
- JAVA求学之路第十一天(继承&抽象&final)
- java求学之路
- java求学之路
- 多线程--第十九天
- JAVA求学之路第八天(集合)
- JAVA求学之路第十六天(异常&递归)
- JAVA求学之路第二十天(网络编程)
- Java学习第十九天
- Java学习第十九天
- JAVA求学之路第一天
- fopen、fwrite、fread 函数——读写结构体类型数据详解
- Visual Stdio中的断点
- 题目1097:取中值
- Maven 使用profile来区分开发、测试、生产环境
- HTML常用标签使用(二)
- JAVA求学之路第十九天(多线程)
- java -- 异常处理
- 基于物理着色(二)- Microfacet材质和多层材质
- 微信如何配置授权回调域名
- 三角形最佳路径问题
- SpringBoot 入门
- Java 文本与二进制I/O总结
- 使用ListView显示数据库的数据
- JAVA求学之路第二十天(网络编程)