教育路上

全国站>Java>多线程>java线程的创建
学员需求

java线程的创建

摘要:。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-05-19 13:32网络推荐

发布时间:
2022-05-19 13:32
信息来源:
网络推荐
浏览次数:
547
java线程的创建

上一小节介绍了什么是多线程,接下来为大家讲解在 Java 程序中如何实现多线程。Java

提供了两种多线程实现方式,一种是继承 java.lang 包下的 Thread 类,覆写 Thread 类的 run()

方法,在 run()方法中实现运行在线程上的代码;另一类是实现 java.lang.Runnable 接口,同

样是在 run()方法中实现运行在线程中的代码。接下来就对创建多线程的两种方式分别进行

讲解,并比较它们的优缺点。

14.2.1 继承 Thread 类创建多线程

在学习多线程之前,先来看看我们所熟悉的单线程程序,如例 14-1 所示。

例 14-1 Example01.java

public class Example01 {

public static void main(String[] args) {

MyThread myThread=new MyThread(); // 创建 MyThread 实例对象

myThread.run(); // 调用 MyThread 类的 run()方法

while (true) { // 该循环是一个死循环,打印输出语句

System.out.println("Main 方法在运行");

}

}

}

class MyThread {

public void run() {

while (true) { // 该循环是一个死循环,打印输出语句

System.out.println("MyThread 类的 run()方法在运行");

}

}

}

运行结果如图 14-3 所示。

from shengerguan

从图 14-3 所示的运行结果可以看出,程序一直打印的是“MyThread 类的 run()方法

在运行”,这是因为该程序是一个单线程程序,当调用 MyThread 类的 run()方法时,遇到

死循环,循环会一直进行。因此,MyThread 类的打印语句将永远执行,而 main()方法中

的打印语句无法得到执行。

如果希望得到例 14-1 中两个 while 循环中的打印语句能够并发执行,就需要实现多

线程、为此 JDK 中提供了一个线程类 Thread,通过继承 Thread,并重写 Thread 类中的 run()

方法便可实现多线程。在 Thread 类中,提供了一个 start()方法用于启动新线程,线程启动

后,系统会自动调用 run()方法。接下来通过一个案例来演示如何通过继承 Thread 类的方

式来实现多线程,如例 14-2 所示。

例 14-2 Example02.java

public class Example02 {

public static void main(String[] args) {

MyThread myThread = new MyThread(); // 创建线程 MyThread 的

线程对象

myThread.start(); // 开启线程

while (true) { // 通过死循环语句打

印输出

System.out.println("main()方法在运行");

}

}

}

class MyThread extends Thread {

public void run() {

while (true) { // 通过死循环语句打印输出

System.out.println("MyThread 类的 run()方法在运行");

}

}

}

运行结果如图 14-4 所示。

此处有截图 图 14-4 例 5-2 运行结果

从图 14-4 所示的运行结果可以看到,两个 while 循环中的打印语句轮流执行了,说

明该例程实现了多线程。为了使大家更好地理解单线程和多线程的执行过程,接下来通过一

个图例分析一下单线程和多线程的运行流程,如图 14-5 所示。

从图 14-5 可以看出,单线程的程序在运行时,会按照代码的调用顺序进行执行。

而在多线程中,main()方法和 MyThread 类的 run( )方法却可以同时运行,互不影响,这

正是单线程和多线程的区别。

from shengerguan


上一篇:
Java多线程
下一篇:
java实现 Runnable 接口创建多线程
标签:
网友评论
发布评论

访客的评论 2024/04/23 17:41

文中描述的是准确的吗,如何报名!

相关推荐
我也来发表评价关闭
我对该内容的评价:
0
评价500
验证码: 看不清 换一张
提交 (匿名发布,无须担心别人知道您的身份)
学校免费发布信息关闭
我们审核后会尽快展示,如有图片请发邮件到:edu63@foxmail.com

姓      名:

内      容:

手机号码:

验  证  码:  换一张

确认提交
填写需求信息关闭
我们会根据您的需求匹配并审核留言

姓      名:

意向城市:

留      言:

手机号码:

验  证  码:  换一张

确认提交
完善补充本文信息关闭
非常感谢您帮助完善补充本文信息


 换一张

确认提交