【java多線程與并發(fā)庫】---傳統(tǒng)java多線程<2> 線程創(chuàng)建方式
一、Thread類的構(gòu)造方法
public Thread();
public Thread (Runnable target);
public Thread (Runnable target,String name);
public Thread (String name);
public Thread (ThreadGroup group,Runnable target);
public Thread (ThreadGroup group,Runnable target,String name);
public Thread (ThreadGroup group,String name);
二、Java中提供了2種創(chuàng)建線程的方法:
(1) 繼承Thread類(java.lang.Thread)
public class Thread extends Object implements Runnable
這種方法是將類聲明為Thread
的子類。該子類應(yīng)重寫Thread
類的run
方法。接下來可以分配并啟動該子類的實例。
實例一:
- public class ThreadTest02 extends Thread{
- public void run(){
- for(int i=0; i<10; i++){
- System.out.println("線程"+Thread.currentThread().getName()+"extends Thread is running..."+i);
- }
- System.out.println("線程"+Thread.currentThread().getName()+"執(zhí)行結(jié)束,退出!");
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Thread t1 = new ThreadTest02();
- t1.setName("T1");
- Thread t2 = new ThreadTest02();
- t2.setName("T2");
- t1.start();
- t2.start();
- }
- }
運行結(jié)果:
(2)利用Runnable接口(java.lang.Runnable)
這種方法是聲明實現(xiàn)Runnable
接口的類。該類然后實現(xiàn)run
方法。然后可以分配該類的實例,在創(chuàng)建Thread
時作為一個參數(shù)來傳遞并啟動
實例二:
- public class ThreadTest02 implements Runnable{
- public void run(){
- for(int i=0; i<10; i++){
- System.out.println("線程"+Thread.currentThread().getName()+"implements Runnable interface is running..."+i);
- }
- System.out.println("線程"+Thread.currentThread().getName()+"執(zhí)行結(jié)束,退出!");
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- ThreadTest02 t = new ThreadTest02();
- Thread thread = new Thread(t);
- thread.start();
- }
- }
運行結(jié)果:
個人網(wǎng)站 www.software8.co