自定义线程的方式
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
package com.javaxxz.test;public class Demo extends Thread {/*** 創(chuàng)建線程的方式* 方式一:* 1、自定義一個(gè)類繼承Thread類* 2、重寫Thread類的run方法,把自定線程的任務(wù)代碼寫在run方法中* 3、創(chuàng)建Thread類的子類對象,并且調(diào)用start方法開啟線程* 一個(gè)線程一旦開啟,那么線程就會(huì)執(zhí)行run方法中的代碼** 疑問:重寫run方法的目的是什么?* 解答:每個(gè)線程都有自己的任務(wù)代碼,jvm創(chuàng)建的主線程的任務(wù)代碼就是Main方法中的所有代碼。* 自定義線程的任務(wù)代碼就寫在run方法中,自定義線程負(fù)責(zé)了run方法中的代碼。*/@Overridepublic void run() {for (int i = 0; i < 100; i++) {System.out.println("自定義線程執(zhí)行" + i);}}public static void main(String[] args) {// 創(chuàng)建了自定義線程的對象Demo demo = new Demo();// 調(diào)用start方法啟動(dòng)線程demo.start();for (int i = 0; i < 100; i++) {System.out.println("Main線程執(zhí)行" + i);}} } package com.javaxxz.test;public class Demo1 implements Runnable {/*** 創(chuàng)建線程的方式* 方式二:* 1、自定義一個(gè)類實(shí)現(xiàn)Runnable接口* 2、實(shí)現(xiàn)Runnable接口的run方法,把自定線程的任務(wù)代碼寫在run方法中* 3、創(chuàng)建Runnable接口實(shí)現(xiàn)類的對象* 4、創(chuàng)建Thread類的對象,并且把Runnable實(shí)現(xiàn)類的對象作為實(shí)參傳遞* 5、調(diào)用Thread對象的start方法開啟一個(gè)線程*/@Overridepublic void run() {for (int i = 0; i < 100; i++) {System.out.println(Thread.currentThread().getName() + "執(zhí)行:" + i);}}public static void main(String[] args) {Demo1 demo1 = new Demo1();Thread thread = new Thread(demo1,"自定義線程名稱");thread.start();for (int i = 0; i < 100; i++) {System.out.println("Main線程執(zhí)行:" + i);}} }?
轉(zhuǎn)載于:https://my.oschina.net/zhui666/blog/1798752
總結(jié)
- 上一篇: jsoup实现超简单的爬虫
- 下一篇: 麻省理工18年春软件构造课程阅读07“设