自定义线程的创建方式
来源:互联网 发布:知乎 避孕套 父母 编辑:程序博客网 时间:2024/06/05 14:32
* 自定义线程的创建方式:
* 方式一:
* 1.自定义一个类继承Thread类。
* 2.重写Thread类的run方法,把自定义线程的任务代码写在run方法上。
* 3.创建Thread的子类对象,并且调用start方法启动一个线程
* 注意:千万不要直接调用run()方法,调用start()方法的时候就会开启,线程一旦开启就会执行run方法中代码,如果直接调用
* run方法,那么就相当于调用了一个普通的方法而已。
* */
运行结果为:
main主定义线程的i0
Thread-0自定义线程的i0
main主定义线程的i1
Thread-0自定义线程的i1
Thread-0自定义线程的i2
Thread-0自定义线程的i3
Thread-0自定义线程的i4
main主定义线程的i2
Thread-0自定义线程的i5
Thread-0自定义线程的i6
main主定义线程的i3
main主定义线程的i4
main主定义线程的i5
main主定义线程的i6
Thread-0自定义线程的i7
main主定义线程的i7
Thread-0自定义线程的i8
main主定义线程的i8
Thread-0自定义线程的i9
main主定义线程的i9
* 方式二:
* 1.自定义一个类实现Runnable接口
* 2.实现Runnable接口的run方法,把自定义线程的任务定义在run方法上
* 3.创建Runnable实现类对象。
* 4.创建Thread类的对象,并且把Runnable实现类的对象作为实参传递
* 5.调用Thread对象的start方法开启一个线程
* */
运行结果为:
main主定义线程的i0
张三自定义线程的i0
main主定义线程的i1
张三自定义线程的i1
main主定义线程的i2
张三自定义线程的i2
main主定义线程的i3
张三自定义线程的i3
main主定义线程的i4
张三自定义线程的i4
main主定义线程的i5
张三自定义线程的i5
main主定义线程的i6
张三自定义线程的i6
main主定义线程的i7
张三自定义线程的i7
main主定义线程的i8
张三自定义线程的i8
main主定义线程的i9
张三自定义线程的i9
/*
* 问题1: 请问Runnable实现类的对象是线程对象吗?
* Runnable实现类的对象并不是一个线程对象,只不过是实现了Runnable接口的对象而已。
* 只有是Thread或者是Thread的子类才是线程对象。(因为Thread里面有start方法)
* 问题2:为什么要把Runnable实现类的对象作为实参传递给Thread对象呢?作用是什么?
* 作用就是把Runnable实现类的对象的run方法作为了线程的任务代码去执行了。
* 推荐使用:第二种。实现Runnable接口的。
* 原因:因为java单继承,多实现。
* */
- 自定义线程的创建方式
- 自定义线程的创建方式
- 创建线程的方式
- 创建线程的方式
- 创建线程的方式
- 创建线程的方式
- 线程的创建方式
- 线程的创建方式
- 线程的创建方式
- 创建线程的方式
- 线程的创建方式一
- 线程创建的两个方式
- 线程及其创建的方式
- 线程的创建方式问题
- Java线程的创建方式
- 创建传统线程的方式
- Java 创建线程的方式
- java创建线程的方式
- Sublime text 3 中文文件名显示方框怎么解决
- SQL完整性约束
- 大数据流式计算第一课---从Storm开始
- HDU 5154 Harry and Magical Computer (拓扑排序)
- JAVA导入导出EXCEL(POI)
- 自定义线程的创建方式
- Spell It Right
- Python学习笔记2
- JavaScript数据结构-集合
- PHP Socket实现HTTP GET POST请求发送
- zepto延迟300s
- makefile中"模式规则"的引入和介绍------%:%.cpp
- firstc程序讲解
- js 实现排序算法