亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

JAVA核心技術-多線程簡單介紹

2023-08-28 08:27:46
4
0

多線程

運行在操作系統之上的每個應用程序,都會占用一個獨立的進程(process),而進程內又允許運行多個線程(thread),這意味著一個程序可以同時執行多個任務的功能

在Java中實現多線程:Thread類,Runnable接口

在基于線程的多任務而處理環境中,線程是執行特定任務的可執行代碼的最小單位;

 

多任務

當今的操作系統絕大部分都是基于多任務的操作系統;

多任務操作系統的最大特點,是可以同時運行多個程序;

由于操作系統支持時間片輪換算法,使得用戶感覺多個程序在同時運行,似乎有多個CPU在起作用。

進程與線程的區別

進程是指系統中正在運行中的應用程序,它擁有自己獨立的內存空間;

線程是指進程中一個執行流程,一個進程中允許同時啟動多個線程,他們分別執行不同的任務;

線程與進程的主要區別在于:每個進程都需要操作系統為其分配獨立的內存地址空間,而同一進程中的所有線程在同一塊地址空間中,這些線程可以共享數據,因此線程間的通信比較簡單,消耗的系統開銷也相對較小。

線程狀態

新建狀態(New):使用new關鍵字創建線程對象,僅僅被分配了內存;

就緒狀態(Ready):線程對象被創建后,等待它的start方法被調用,以獲得CPU的使用權;

運行狀態(Running):執行run方法,此時的線程的對象正占用CPU;

睡眠狀態(Sleeping):調用sleep方法,線程被暫停,睡眠時間結束后,線程回到就緒狀態,睡眠狀態的線程不占用CPU;

死亡狀態(Dead):run方法執行完畢后,線程進入死亡狀態;

阻塞狀態(Blocked):線程由于某些事件(如等待鍵盤輸入)放棄CPU,暫停運行,直到線程重新進入就緒狀態,才有機會轉到運行狀態;

相關詞匯說明

單    詞

說    明

thread

線,線程

runnable

可追捕的,可獵取的

current

當前的,最近的

sleep

睡,睡眠

yield

屈服,屈從

interrupted

中斷的,被阻止的

daemon

后臺程序

wait

等待,等候

notify

通報

synchronized

同步的

 

 

Thread

主線程示例

public class MainThreadDemo {

    public static void main(String[] args) {

        //獲得當前運行的線程

        Thread tMain = Thread.currentThread();

        System.out.println("當前運行的線程是:" + tMain);

        try {

            for (int i = 0; i < 5; i++) {

                System.out.println(i);

                Thread.sleep(2000);  //使當前線程休眠2秒

            }

        }

        catch (java.lang.InterruptedException ie) {

            ie.printStackTrace();

        }

    }

}

在Java中要實現線程,最簡單的方式就是擴展Thread類,重寫其中的run方法,方法原型如下:

  public void run()

如:

  public class MyThread extends Thread {

  public void run() {

  ……

  }

  }

Thread類中的run方法本身并不執行任何操作,如果我們重寫了run方法,當線程啟動時,它將執行run方法。

 

Runnable接口

java.lang.Runnable接口中僅僅只有一個抽象方法:

  public void run();

也可以通過實現Runnable接口的方式來實現線程,只需要實現其中的run方法即可;

Runnable接口的存在主要是為了解決Java中不允許多繼承的問題;

使用Runnable接口可以使語法的自由度更高。

0條評論
作者已關閉評論
魏文浩
5文章數
0粉絲數
魏文浩
5 文章 | 0 粉絲
原創

JAVA核心技術-多線程簡單介紹

2023-08-28 08:27:46
4
0

多線程

運行在操作系統之上的每個應用程序,都會占用一個獨立的進程(process),而進程內又允許運行多個線程(thread),這意味著一個程序可以同時執行多個任務的功能

在Java中實現多線程:Thread類,Runnable接口

在基于線程的多任務而處理環境中,線程是執行特定任務的可執行代碼的最小單位;

 

多任務

當今的操作系統絕大部分都是基于多任務的操作系統;

多任務操作系統的最大特點,是可以同時運行多個程序;

由于操作系統支持時間片輪換算法,使得用戶感覺多個程序在同時運行,似乎有多個CPU在起作用。

進程與線程的區別

進程是指系統中正在運行中的應用程序,它擁有自己獨立的內存空間;

線程是指進程中一個執行流程,一個進程中允許同時啟動多個線程,他們分別執行不同的任務;

線程與進程的主要區別在于:每個進程都需要操作系統為其分配獨立的內存地址空間,而同一進程中的所有線程在同一塊地址空間中,這些線程可以共享數據,因此線程間的通信比較簡單,消耗的系統開銷也相對較小。

線程狀態

新建狀態(New):使用new關鍵字創建線程對象,僅僅被分配了內存;

就緒狀態(Ready):線程對象被創建后,等待它的start方法被調用,以獲得CPU的使用權;

運行狀態(Running):執行run方法,此時的線程的對象正占用CPU;

睡眠狀態(Sleeping):調用sleep方法,線程被暫停,睡眠時間結束后,線程回到就緒狀態,睡眠狀態的線程不占用CPU;

死亡狀態(Dead):run方法執行完畢后,線程進入死亡狀態;

阻塞狀態(Blocked):線程由于某些事件(如等待鍵盤輸入)放棄CPU,暫停運行,直到線程重新進入就緒狀態,才有機會轉到運行狀態;

相關詞匯說明

單    詞

說    明

thread

線,線程

runnable

可追捕的,可獵取的

current

當前的,最近的

sleep

睡,睡眠

yield

屈服,屈從

interrupted

中斷的,被阻止的

daemon

后臺程序

wait

等待,等候

notify

通報

synchronized

同步的

 

 

Thread

主線程示例

public class MainThreadDemo {

    public static void main(String[] args) {

        //獲得當前運行的線程

        Thread tMain = Thread.currentThread();

        System.out.println("當前運行的線程是:" + tMain);

        try {

            for (int i = 0; i < 5; i++) {

                System.out.println(i);

                Thread.sleep(2000);  //使當前線程休眠2秒

            }

        }

        catch (java.lang.InterruptedException ie) {

            ie.printStackTrace();

        }

    }

}

在Java中要實現線程,最簡單的方式就是擴展Thread類,重寫其中的run方法,方法原型如下:

  public void run()

如:

  public class MyThread extends Thread {

  public void run() {

  ……

  }

  }

Thread類中的run方法本身并不執行任何操作,如果我們重寫了run方法,當線程啟動時,它將執行run方法。

 

Runnable接口

java.lang.Runnable接口中僅僅只有一個抽象方法:

  public void run();

也可以通過實現Runnable接口的方式來實現線程,只需要實現其中的run方法即可;

Runnable接口的存在主要是為了解決Java中不允許多繼承的問題;

使用Runnable接口可以使語法的自由度更高。

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0