多線程-進程和線程概述以及如何使用多線程

1.什麼是進程?
進程是操作系統結構的基礎;是一次程序的執行;
是一個程序及其數據在處理機上順序執行時所發生的活動;
是程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的一個獨立單位。
2.什麼是線程?
線程是進程中獨立運行的子任務。
3.多線程的優點:可以大大提升系統的運行效率。
4.多線程的特點:多線程是異步的,不能把Eclipse裏代碼的順序當做線程的執行順序,線程被調用的時機是隨機的。
5.如何使用多線程?
一、繼承Thread類
二、實現Runnable接口(建議使用第二種方式)
下面就上面的兩種方式簡單測試多線程的使用:
通過繼承Thread實現多線程:

package com.vhqimk.thread;
/*
 * 通過繼承Thread類實現多線程,並進行測試
 */
public class Test {
     public static void main(String[] args) {
         //生成一個MyThread實例myThread
        MyThread myThread=new MyThread();
        //將實例myThread分別加載到三個線程中
        Thread t1=new Thread(myThread);
        Thread t2=new Thread(myThread);
        Thread t3=new Thread(myThread);
        //啓動三個線程
        t1.start();
        t2.start();
        t3.start();
    }
}
/*
 * 通過繼承Thread類實現多線程
 */
class MyThread extends Thread{
    //重寫run()方法
     public void run()
     {
         //通過Thread.currentThread().getName()獲取並輸出當前線程的名
         System.out.println("通過繼承Thread類,實現多線程"+Thread.currentThread().getName());
     }

}

通過實現接口實現多線程:

package com.vhqimk.thread;
/*
 * 通過實現Runnable接口實現多線程,並進行測試
 */
public class Test {
     public static void main(String[] args) {
         //創建一個MyRunnable對象myRunnable
         MyRunnable myRunnable=new MyRunnable();
         //分別將對象myRunnable加載到三個不同線程
         Thread t1=new Thread(myRunnable);
         Thread t2=new Thread(myRunnable);
         Thread t3=new Thread(myRunnable);
         //啓動三個線程
         t1.start();
         t2.start();
         t3.start();    
    }
}
/*
 * 通過實現Runnable接口實現多線程
 */
class MyRunnable implements Runnable{
    //重寫run()方法
     public void run()
     {
         //通過Thread.currentThread().getName()獲取並輸出當前線程的名
         System.out.println("通過實現Runnable接口實現多線程"+Thread.currentThread().getName());
     }

}

特別提醒:雖然通過繼承Thread類也能實現多繼承,但通過繼承Thread類來開發多線程應用程序在設計上是有侷限性的,因爲Java是單根繼承,不支持多繼承,而通過實現Runnable接口的方式來實現多線程則不受這方面的限制,因此建議使用第二種方式實現多線程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章