「Java并發編程」1.9 yeild方法

【Java并發】1.9 yeild方法
yeild方法的作用是放棄當前cpu的資源,將它讓給其他任務去占用CPU執行時間。但放棄時間不確定,可能剛剛放棄,馬上又獲得CPU時間片。

public class MyThread extends Thread {

    @Override
    public void run() {
        long beginTime = System.currentTimeMillis();
        int count = 0;
        for (int j = 0; j < 5000000; j++) {
            //Thread.yield();
            count = count + (j+1);
        }
        long endTime = System.currentTimeMillis();
        System.out.println("用時:"+(endTime-beginTime)+"ms");
    }

    public static void main(String[] args) {
        MyThread thread = new MyThread();
        thread.start();
    }
}
用時5ms

上面程序運行耗時5ms,如果把Thread.yield()注釋取消,程序運行:

用時:462ms
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 本文主要講了java中多線程的使用方法、線程同步、線程數據傳遞、線程狀態及相應的一些線程函數用法、概述等。 首先講...
    李欣陽閱讀 2,494評論 1 15
  • Java多線程學習 [-] 一擴展javalangThread類 二實現javalangRunnable接口 三T...
    影馳閱讀 2,987評論 1 18
  • 該文章轉自:http://blog.csdn.net/evankaka/article/details/44153...
    加來依藍閱讀 7,381評論 3 87
  • 前言 多線程并發編程是Java編程中重要的一塊內容,也是面試重點覆蓋區域,所以學好多線程并發編程對我們來說極其重要...
    嘟爺MD閱讀 7,334評論 21 272
  • 寫在前面的話: 這篇博客是我從這里“轉載”的,為什么轉載兩個字加“”呢?因為這絕不是簡單的復制粘貼,我花了五六個小...
    SmartSean閱讀 4,792評論 12 45