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接口的方式來實現多線程則不受這方面的限制,因此建議使用第二種方式實現多線程。