多语言展示
当前在线:392今日阅读:103今日分享:49

java使用Thread类实现多线程

java使用Thread类实现多线程
工具/原料
1

java

2

eclipse

方法/步骤
1

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

2

如果要想实现一个多线程的主类,有两类途径:集成一个Thread类实现Runnable、Callable接口。现在我们继承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);                }        }}

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();        }}

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();        }}

6

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

7

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

推荐信息