中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java多線程狀態以及方法的實例解析

發布時間:2021-09-15 09:58:58 來源:億速云 閱讀:86 作者:chen 欄目:編程語言

這篇文章主要介紹“Java多線程狀態以及方法的實例解析”,在日常操作中,相信很多人在Java多線程狀態以及方法的實例解析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java多線程狀態以及方法的實例解析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

首先介紹線程的五種狀態:

新生態:New Thread()

就緒態:準備搶CPU時間片

運行態:搶到了CPU時間片

阻塞態:放棄已經搶到的CPU時間片,且暫時不參與爭搶

死亡態:Run運行完了之后

接下來介紹三種方法:線程的阻塞,線程的優先級設置,線程的禮讓

public class MutliThreadDemo4 {  public static void main(String[] args) {    threadBlock();    //threadPriority();    //threadYield();      }  /**   * 線程的阻塞   */  private static void threadBlock() {    //創建Runnable接口實現類的對象    Runnable r = () -> {      for(int i = 0; i < 10; i++) {        System.out.println(Thread.currentThread().getName() + ":" + i);        //線程休眠(由運行狀態到阻塞狀態,時間過了回到就緒態,重新爭搶),直觀上表現為停頓打印        try {          Thread.sleep(1000);        }catch(InterruptedException e){          e.printStackTrace();        }      }    };    //實例化    new Thread(r, "甲").start();    }    /**   * 線程的優先級   */  private static void threadPriority() {    Runnable r = () -> {      for(int i = 0; i < 10; i++) {        System.out.println(Thread.currentThread().getName() + ":" + i);      }    };    Thread t1 = new Thread(r, "甲");    Thread t2 = new Thread(r, "乙");        //設置優先級,必須在開始執行(start)之前    //設置線程的優先級,只是修改這個線程可以去搶到CPU時間片的概率。    //并不是優先級高的線程一定能搶到CPU時間片    //優先級的設置,是一個整數(0,10]的整數,默認是5    t1.setPriority(10);    t2.setPriority(1);        t1.start();    t2.start();      }  /**   * 線程的禮讓   */  private static void threadYield() {      //線程釋放自己的CPU資源,由運行狀態,回到就緒狀態    //匿名內部類    Runnable r = new Runnable() {      public void run() {        for (int i = 0; i < 10; i++) {          System.out.println(Thread.currentThread().getName() + ":" + i);          if (i == 3) {            Thread.yield();          }        }      }    };    Thread thread1 = new Thread(r, "thread-1");    Thread thread2 = new Thread(r, "thread-2");        thread1.start();    thread2.start();    }  }

到此,關于“Java多線程狀態以及方法的實例解析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜丰县| 沂水县| 江陵县| 买车| 寿光市| 曲阳县| 庆安县| 鹤岗市| 浙江省| 石泉县| 葵青区| 凤城市| 民乐县| 绿春县| 丁青县| 闽清县| 都匀市| 沙湾县| 赣榆县| 开阳县| 陵水| 乌兰浩特市| 大庆市| 枣阳市| 吴旗县| 积石山| 山阳县| 阿拉善右旗| 阳朔县| 丹寨县| 渝中区| 黎城县| 南投县| 乃东县| 新安县| 屏东市| 二连浩特市| 莒南县| 林州市| 九台市| 贵州省|