java中线程的两种创建方式

Posted 1024军团

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中线程的两种创建方式相关的知识,希望对你有一定的参考价值。

  第一种:继承java.lang.Thread类、然后重写run方法

  例如我们模拟一个龟兔赛跑  

 1 package edu.aeon.thread;
 2 
 3 /**
 4  * 说明:模拟龟兔赛跑
 5  * 
 6  * @author lzj
 7  *
 8  */
 9 public class RabbitThread extends Thread {
10     @Override
11     public void run() {
12         for (int i = 1; i <= 100; i++) {
13             System.out.println("兔子跑了" + i + "步!");
14         }
15     }
16 }
17 
18 /**
19  * 乌龟线程
20  * 
21  * @author lzj
22  *
23  */
24 class TortoiseThread extends Thread {
25     @Override
26     public void run() {
27         for (int i = 1; i <= 100; i++) {
28             System.out.println("乌龟跑了" + i + "步!");
29         }
30     }
31 }

测试类如下:

package edu.aeon.thread;

/**
 * 说明:线程测试类 开启一个线程用start 调用run方法只是跑了一个普通的方法
 * 
 * @author lzj
 *
 */
public class ThreadTest {
    public static void main(String[] args) {
        RabbitThread rt = new RabbitThread();
        TortoiseThread tt = new TortoiseThread();
        // 开启兔子线程
        rt.start();
        // 开启乌龟线程
        tt.start();
        // 开启main线程
        for (int i = 1; i <= 100; i++) {
            System.out.println("main跑了" + i + "步!");
        }
        // gc线程及异常处理线程同上main线程、此处略
    }

}

 测试结果:  

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

  第二种:

以上是关于java中线程的两种创建方式的主要内容,如果未能解决你的问题,请参考以下文章

Java创建线程的两种方法

java中线程的两种创建方式

Java多线程——创建线程的两种方式

java并发传统线程技术中创建线程的两种方式

Java 创建多线程的两种方式 异步执行

创建线程有哪两种方法,它们各自的优缺点是啥?