java使用Thread类实现多线程

2025-10-26 11:03:52

1、如果要想实现多线程,那么必须有一个前提:有一个线程的执行主类。

java使用Thread类实现多线程

2、如果要想实现一个多线程的主类,有两类途径:

集成一个Thread类

实现Runnable、Callable接口。

现在我们继承Thread类实现多线程。

java使用Thread类实现多线程

3、java.lang.Thread是一个线程操作的核心类。如果现在要想定义一个线程的主类,那么最简单的方法就是直接继承Thread类,而后覆写该类中的run()方法(相当于线程的主方法)。

定义线程主体类:

class MyThread extends Thread {//线程的主体类

        private String title;

        public MyThread(String title) {

                this.title = title;

        }

        @Override

        public void run() {//所有的线程从此处开始执行

                for(int x=0;x<100;x++){

                        System.out.println(this.title + ",x=" + x);

                }

        }

}

java使用Thread类实现多线程

4、当现在有了线程的主体类之后,很明显首先就一定会想到产生对象随后调用方法,但是你现在不能够直接调用run()方法。

现在我们观察直接调用run()方法:

public class ThreadDemo {

        public static void main(String[] args) {

                MyThread myThreadA = new MyThread("线程A");

                MyThread myThreadB = new MyThread("线程B");

                MyThread myThreadC = new MyThread("线程C");

                

                myThreadA.run();

                myThreadB.run();

                myThreadC.run();

        }

}

java使用Thread类实现多线程

java使用Thread类实现多线程

5、这个时候只是做了一个顺序打印,而跟多线程没有关系。多线程的执行实际上和进程是相似的,也应该采用的是多个程序交替执行,而不是说各自执行各自的。正确启动多线程的方式应该调用的是Thread类中的start()方法:

package com.gwolf;

class MyThread extends Thread {//线程的主体类

        private String title;

        public MyThread(String title) {

                this.title = title;

        }

        @Override

        public void run() {//所有的线程从此处开始执行

                for(int x=0;x<5;x++){

                        System.out.println(this.title + ",x=" + x);

                }

        }

}

public class ThreadDemo {

        public static void main(String[] args) {

                MyThread myThreadA = new MyThread("线程A");

                MyThread myThreadB = new MyThread("线程B");

                MyThread myThreadC = new MyThread("线程C");

                

               

                  myThreadA.start();

                  myThreadB.start();

                   myThreadC.start();

        }

}

java使用Thread类实现多线程

6、现在我们来观察程序的执行结果,程序应该是交替执行。

java使用Thread类实现多线程

7、为什么要通过strat()方法调用run()方法,而不是run()直接执行?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢