Java中多线程原理与实现细节如何深入理解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4152个文字,预计阅读时间需要17分钟。
多线程创建方式:Thread类+定义一个子类+MyThread继承线程类+Java.lang.Thread+重写run()方法+创建MyThread对象+调用线程对象的start()方法启动线程(启动后仍执行run()方法)+优点:编码简单
多线程 创建方式 Thread类- 定义一个子类
MyThread继承线程类Java.lang.Thread,重写run()方法 - 创建MyThread对象
- 调用线程对象的start()方法启动线程(启动后还是执行run方法)
优缺点
- 优点:编码简单
- 缺点:线程类已经继承Thread,无法继承其他类,不利于扩展
注意
为什么不直接调用了run方法,而是调用start启动线程。
- 直接调用run方法会当成普通方法执行,此时相当于还是单线程执行。
- 只有调用start方法才是启动一个新的线程执行。
把主线程任务放在子线程之前
- 这样主线程一直是先跑完的,相当于是一个单线程的效果了。
本文共计4152个文字,预计阅读时间需要17分钟。
多线程创建方式:Thread类+定义一个子类+MyThread继承线程类+Java.lang.Thread+重写run()方法+创建MyThread对象+调用线程对象的start()方法启动线程(启动后仍执行run()方法)+优点:编码简单
多线程 创建方式 Thread类- 定义一个子类
MyThread继承线程类Java.lang.Thread,重写run()方法 - 创建MyThread对象
- 调用线程对象的start()方法启动线程(启动后还是执行run方法)
优缺点
- 优点:编码简单
- 缺点:线程类已经继承Thread,无法继承其他类,不利于扩展
注意
为什么不直接调用了run方法,而是调用start启动线程。
- 直接调用run方法会当成普通方法执行,此时相当于还是单线程执行。
- 只有调用start方法才是启动一个新的线程执行。
把主线程任务放在子线程之前
- 这样主线程一直是先跑完的,相当于是一个单线程的效果了。

