1、線程的使用步驟 2、第一種定義線程類的方法:繼承java.lang.Thread類 MyThread 文件: public class MyThread extends Thread { private int count=0; @Override public void run() { Sys ...
1、線程的使用步驟 2、第一種定義線程類的方法:繼承java.lang.Thread類 MyThread 文件:
public class MyThread extends Thread { private int count=0; @Override public void run() { System.out.println("線程已啟動"); while(count<10000) { count++; } System.out.println("count:"+count); } }
TestMyThread 文件:
public class TestMyThread { /* * 繼承Thread類創建線程 * 1、繼承Thread類 * 2、重寫run方法 * 3、實例化線程對象 * 4、調用start方法啟動線程 * * 繼承Thread類會存在什麼問題? * 線程類不能繼承其他類 */ public static void main(String[] args) { //實例化線程對象 Thread myThread=new MyThread(); //啟動線程 myThread.start(); /* * start方法的作用:該方法會使操作系統初始化一個新的線程,由這個新的線程來執行線程對象的run方法 */ } }
運行效果: 3、第二種定義線程類的方法:繼承java.lang.Runnable介面 MyRunnable文件:
public class MyRunnable implements Runnable { private int count=0; @Override public void run() { count++; System.out.println("count:"+count); } }
TestMyRunnable文件:
public class TestMyRunnable { public static void main(String[] args) { // TODO Auto-generated method stub Runnable my=new MyRunnable(); System.out.println("thread啟動了"); Thread thread=new Thread(my); System.out.println("thread2啟動了"); Thread thread_2=new Thread(my); thread.start(); thread_2.start(); } }
4、兩種創建方式的比較