美文网首页
Java 多线程:继承Thread类 和 实现Runnable接

Java 多线程:继承Thread类 和 实现Runnable接

作者: linyk3 | 来源:发表于2018-11-15 14:21 被阅读0次

    多线程的两种实现方式:

    1. 继承Thread类,并重写run() 方法:

    MultiThread_ExtendsThread.java

    package com.linyk3.test;
    
    public class MultiThread_ExtendsThread extends Thread{
        //重写run方法
        @Override
        public void run() {
            int i = 0;
            while(i++ < 100) {
                System.out.println("I'm a thread that extends Thread!:" + i);
            }   
        }
    }
    
    1. 实现Runnable接口, 实现run()方法:
      MultiThread_ImplementsRunnable.java
    package com.linyk3.test;
    
    public class MultiThread_ImplementsRunnable implements Runnable{
        //实现run()方法
        public void run(){
            int i = 0;
            while(i++ < 100) {
                System.out.println("I'm a thread that implements Runnable!:" + i);
            }
        }
    }
    
    1. 测试类:
      package com.linyk3.test;
      MultiThread_TestMain.java
    public class MultiThread_TestMain {
        public static void main(String[] args) {
                    //直接启动线程类
            MultiThread_ExtendsThread t1 = new MultiThread_ExtendsThread();
            t1.start();
            //启动的是Thread类
            MultiThread_ImplementsRunnable r = new MultiThread_ImplementsRunnable();
            Thread t2 = new Thread(r);
            t2.start();
        }
    }
    

    运行结果:

    I'm a thread that extends Thread!:1
    I'm a thread that extends Thread!:2
    I'm a thread that extends Thread!:3
    I'm a thread that extends Thread!:4
    I'm a thread that extends Thread!:5
    I'm a thread that extends Thread!:6
    I'm a thread that extends Thread!:7
    I'm a thread that extends Thread!:8
    I'm a thread that extends Thread!:9
    I'm a thread that extends Thread!:10
    I'm a thread that extends Thread!:11
    I'm a thread that extends Thread!:12
    I'm a thread that extends Thread!:13
    I'm a thread that extends Thread!:14
    I'm a thread that extends Thread!:15
    I'm a thread that extends Thread!:16
    I'm a thread that extends Thread!:17
    I'm a thread that extends Thread!:18
    I'm a thread that extends Thread!:19
    I'm a thread that extends Thread!:20
    I'm a thread that extends Thread!:21
    I'm a thread that extends Thread!:22
    I'm a thread that extends Thread!:23
    I'm a thread that extends Thread!:24
    I'm a thread that extends Thread!:25
    I'm a thread that extends Thread!:26
    I'm a thread that extends Thread!:27
    I'm a thread that extends Thread!:28
    I'm a thread that extends Thread!:29
    I'm a thread that extends Thread!:30
    I'm a thread that extends Thread!:31
    I'm a thread that extends Thread!:32
    I'm a thread that extends Thread!:33
    I'm a thread that extends Thread!:34
    I'm a thread that extends Thread!:35
    I'm a thread that extends Thread!:36
    I'm a thread that extends Thread!:37
    I'm a thread that extends Thread!:38
    I'm a thread that extends Thread!:39
    I'm a thread that implements Runnable!:1
    I'm a thread that implements Runnable!:2
    I'm a thread that implements Runnable!:3
    I'm a thread that implements Runnable!:4
    I'm a thread that implements Runnable!:5
    I'm a thread that implements Runnable!:6
    I'm a thread that implements Runnable!:7
    I'm a thread that implements Runnable!:8
    I'm a thread that implements Runnable!:9
    I'm a thread that implements Runnable!:10
    I'm a thread that implements Runnable!:11
    I'm a thread that implements Runnable!:12
    I'm a thread that implements Runnable!:13
    I'm a thread that implements Runnable!:14
    I'm a thread that implements Runnable!:15
    I'm a thread that implements Runnable!:16
    I'm a thread that implements Runnable!:17
    I'm a thread that implements Runnable!:18
    I'm a thread that implements Runnable!:19
    I'm a thread that implements Runnable!:20
    I'm a thread that implements Runnable!:21
    I'm a thread that implements Runnable!:22
    I'm a thread that implements Runnable!:23
    I'm a thread that implements Runnable!:24
    I'm a thread that implements Runnable!:25
    I'm a thread that extends Thread!:40
    I'm a thread that implements Runnable!:26
    I'm a thread that implements Runnable!:27
    I'm a thread that implements Runnable!:28
    I'm a thread that implements Runnable!:29
    I'm a thread that implements Runnable!:30
    I'm a thread that implements Runnable!:31
    I'm a thread that implements Runnable!:32
    I'm a thread that implements Runnable!:33
    I'm a thread that implements Runnable!:34
    I'm a thread that implements Runnable!:35
    I'm a thread that implements Runnable!:36
    I'm a thread that implements Runnable!:37
    I'm a thread that implements Runnable!:38
    I'm a thread that implements Runnable!:39
    I'm a thread that implements Runnable!:40
    I'm a thread that implements Runnable!:41
    I'm a thread that implements Runnable!:42
    I'm a thread that implements Runnable!:43
    I'm a thread that implements Runnable!:44
    I'm a thread that implements Runnable!:45
    I'm a thread that implements Runnable!:46
    I'm a thread that implements Runnable!:47
    I'm a thread that implements Runnable!:48
    I'm a thread that implements Runnable!:49
    I'm a thread that implements Runnable!:50
    I'm a thread that implements Runnable!:51
    I'm a thread that implements Runnable!:52
    I'm a thread that implements Runnable!:53
    I'm a thread that implements Runnable!:54
    I'm a thread that implements Runnable!:55
    I'm a thread that implements Runnable!:56
    I'm a thread that implements Runnable!:57
    I'm a thread that implements Runnable!:58
    I'm a thread that implements Runnable!:59
    I'm a thread that implements Runnable!:60
    I'm a thread that implements Runnable!:61
    I'm a thread that implements Runnable!:62
    I'm a thread that implements Runnable!:63
    I'm a thread that implements Runnable!:64
    I'm a thread that implements Runnable!:65
    I'm a thread that implements Runnable!:66
    I'm a thread that implements Runnable!:67
    I'm a thread that implements Runnable!:68
    I'm a thread that implements Runnable!:69
    I'm a thread that implements Runnable!:70
    I'm a thread that implements Runnable!:71
    I'm a thread that implements Runnable!:72
    I'm a thread that implements Runnable!:73
    I'm a thread that implements Runnable!:74
    I'm a thread that implements Runnable!:75
    I'm a thread that implements Runnable!:76
    I'm a thread that implements Runnable!:77
    I'm a thread that implements Runnable!:78
    I'm a thread that implements Runnable!:79
    I'm a thread that implements Runnable!:80
    I'm a thread that implements Runnable!:81
    I'm a thread that implements Runnable!:82
    I'm a thread that implements Runnable!:83
    I'm a thread that implements Runnable!:84
    I'm a thread that implements Runnable!:85
    I'm a thread that implements Runnable!:86
    I'm a thread that implements Runnable!:87
    I'm a thread that implements Runnable!:88
    I'm a thread that extends Thread!:41
    I'm a thread that extends Thread!:42
    I'm a thread that extends Thread!:43
    I'm a thread that extends Thread!:44
    I'm a thread that extends Thread!:45
    I'm a thread that extends Thread!:46
    I'm a thread that extends Thread!:47
    I'm a thread that extends Thread!:48
    I'm a thread that extends Thread!:49
    I'm a thread that extends Thread!:50
    I'm a thread that extends Thread!:51
    I'm a thread that extends Thread!:52
    I'm a thread that extends Thread!:53
    I'm a thread that extends Thread!:54
    I'm a thread that extends Thread!:55
    I'm a thread that extends Thread!:56
    I'm a thread that extends Thread!:57
    I'm a thread that extends Thread!:58
    I'm a thread that extends Thread!:59
    I'm a thread that extends Thread!:60
    I'm a thread that extends Thread!:61
    I'm a thread that extends Thread!:62
    I'm a thread that extends Thread!:63
    I'm a thread that extends Thread!:64
    I'm a thread that extends Thread!:65
    I'm a thread that extends Thread!:66
    I'm a thread that extends Thread!:67
    I'm a thread that extends Thread!:68
    I'm a thread that extends Thread!:69
    I'm a thread that extends Thread!:70
    I'm a thread that extends Thread!:71
    I'm a thread that extends Thread!:72
    I'm a thread that extends Thread!:73
    I'm a thread that extends Thread!:74
    I'm a thread that extends Thread!:75
    I'm a thread that extends Thread!:76
    I'm a thread that extends Thread!:77
    I'm a thread that extends Thread!:78
    I'm a thread that extends Thread!:79
    I'm a thread that extends Thread!:80
    I'm a thread that extends Thread!:81
    I'm a thread that extends Thread!:82
    I'm a thread that extends Thread!:83
    I'm a thread that extends Thread!:84
    I'm a thread that extends Thread!:85
    I'm a thread that extends Thread!:86
    I'm a thread that extends Thread!:87
    I'm a thread that extends Thread!:88
    I'm a thread that extends Thread!:89
    I'm a thread that extends Thread!:90
    I'm a thread that extends Thread!:91
    I'm a thread that extends Thread!:92
    I'm a thread that extends Thread!:93
    I'm a thread that extends Thread!:94
    I'm a thread that extends Thread!:95
    I'm a thread that extends Thread!:96
    I'm a thread that extends Thread!:97
    I'm a thread that extends Thread!:98
    I'm a thread that extends Thread!:99
    I'm a thread that extends Thread!:100
    I'm a thread that implements Runnable!:89
    I'm a thread that implements Runnable!:90
    I'm a thread that implements Runnable!:91
    I'm a thread that implements Runnable!:92
    I'm a thread that implements Runnable!:93
    I'm a thread that implements Runnable!:94
    I'm a thread that implements Runnable!:95
    I'm a thread that implements Runnable!:96
    I'm a thread that implements Runnable!:97
    I'm a thread that implements Runnable!:98
    I'm a thread that implements Runnable!:99
    I'm a thread that implements Runnable!:100
    

    最后:调用start()方法后并不是是立即的执行多线程的代码,而是使该线程变为可运行态,至于什么时候运行多线程代码是由操作系统决定的。

    相关文章

      网友评论

          本文标题:Java 多线程:继承Thread类 和 实现Runnable接

          本文链接:https://www.haomeiwen.com/subject/gwryfqtx.html