0
点赞
收藏
分享

微信扫一扫

212 01 Android 零基础入门 03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程

212 01 Android 零基础入门 03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程

本文知识点:通过Thread类创建线程

​说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信与本人交流,共同进步。

通过Thread类创建线程

通过继承Thread类的方式创建线程,重写run()方法,调用start()方法启动线程

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程

代码实现:

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_02


212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_03

主线程和我们自己写的(自定义的)线程之间的执行顺序:

代码实现:

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_代码实现_04


执行顺序结果:

其实执行结果是随机的

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_微信_05

注意:线程只能启动一次,即:线程的start()方法只能调用一次。如果多次调用会出现运行时异常—IllegalThreadStateException

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_06


212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_微信_07

创建并启动多个线程

代码实现:

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_08

运行结果:

第一次执行:先是线程1运行了10次,之后是线程2运行了10次。

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_09


第二次执行:先是线程2运行了10次,之后是线程1运行了10次。

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_10


第三次执行:先是线程1运行了6次,之后线程2运行,线程2运行了10次,之后线程1又运行了4次。

212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_代码实现_11


212 01 Android 零基础入门  03 Java常用工具类 05 Java多线程 02 线程的创建 01 通过Thread类创建线程_创建线程_12

多次运行后,我们发现,线程想要获取cpu的使用权,其实运行的顺序是随机的。
线程运行的结果会出现很多种不同的情况。



举报

相关推荐

0 条评论