最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 多線程優(yōu)先級實(shí)例詳解

 更新時間:2017年04月10日 15:24:33   投稿:lqh  
這篇文章主要介紹了Java 多線程優(yōu)先級實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

Java 多線程優(yōu)先級實(shí)例詳解

線程的優(yōu)先級將該線程的重要性傳遞給調(diào)度器。盡管CPU處理現(xiàn)有線程集的順序是不確定的,但是調(diào)度器將傾向于讓優(yōu)先權(quán)最高的線程先執(zhí)行。

你可以用getPriority()來讀取現(xiàn)有線程的優(yōu)先級,并且在任何時刻都可以通過setPriority()來修改優(yōu)先級。

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class SimplePriorities implements Runnable {

  private int countDown = 5;

  /*Java語言規(guī)范第三版中對volatile的定義如下: java編程語言允許線程訪問共享變量,
  為了確保共享變量能被準(zhǔn)確和一致的更新,線程應(yīng)該確保通過排他鎖單獨(dú)獲得這個變量。
  Java語言提供了volatile,在某些情況下比鎖更加方便。如果一個字段被聲明成volatile,
  java線程內(nèi)存模型確保所有線程看到這個變量的值是一致的。*/
  private volatile double d;
  private int priority;

  public SimplePriorities(int priority){
    this.priority = priority;
  }

  public String toString(){
    //獲取當(dāng)前線程信息
    return Thread.currentThread() + ":" + countDown;
  }

  @Override
  public void run() {
    //設(shè)置線程優(yōu)先級 1-10
    Thread.currentThread().setPriority(priority);

    while(true){

      for(int i = 0;i<100000;i++){
        d += (Math.PI + Math.E) / (double)i;
        if(i00 == 0){
          Thread.yield();
        }
      }
      System.out.println(this.toString());

      if(--countDown == 0)return;

    }

  }

  public static void main(String[] args) {


    ExecutorService exec = Executors.newCachedThreadPool();

    //優(yōu)先級為1
    exec.execute(new SimplePriorities(Thread.MIN_PRIORITY));
    //優(yōu)先級為10
    exec.execute(new SimplePriorities(Thread.MAX_PRIORITY));

    exec.shutdown();
  }

}

toString()方法被覆蓋,以便使用Thread.toString()方法來打印線程的名稱,線程的優(yōu)先級以及線程所屬的“線程組”。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

赫章县| 尼玛县| 梅州市| 高平市| 舟山市| 汶川县| 崇礼县| 平潭县| 繁峙县| 南丹县| 黄浦区| 开封市| 乌恰县| 瑞安市| 元氏县| 永寿县| 伊川县| 武穴市| 通江县| 达孜县| 福贡县| 金秀| 长治市| 凤凰县| 大悟县| 四会市| 石阡县| 嘉祥县| 钟祥市| 咸宁市| 商河县| 泉州市| 探索| 雷波县| 枝江市| 分宜县| 仙游县| 武山县| 临沂市| 二连浩特市| 辰溪县|