java線程執行的優先級


1.1      線程的優先級

java 中的線程優先級的范圍是1~10,默認的優先級是5。10極最高。

有時間片輪循機制。“高優先級線程”被分配CPU的概率高於“低優先級線程”。根據時間片輪循調度,所以能夠並發執行。無論是是級別相同還是不同,線程調用都不會絕對按照優先級執行,每次執行結果都不一樣,調度算法無規律可循,所以線程之間不能有先后依賴關系。

無時間片輪循機制時,高級別的線程優先執行,如果低級別的線程正在運行時,有高級別線程可運行狀態,則會執行完低級別線程,再去執行高級別線程。如果低級別線程處於等待、睡眠、阻塞狀態,或者調用yield()函數讓當前運行線程回到可運行狀態,以允許具有相同優先級或者高級別的其他線程獲得運行機會。因此,使用yield()的目的是讓相同優先級的線程之間能適當的輪轉執行。但是,實際中無法保證yield()達到讓步目的,因為讓步的線程還有可能被線程調度程序再次選中。結論:yield()從未導致線程轉到等待/睡眠/阻塞狀態。在大多數情況下,yield()將導致線程從運行狀態轉到可運行狀態,但有可能沒有效果。

優先級測試程序:

package com.first;

public class ThreadPriority
{
    public static void main(String[] args) {

        System.out.println(Thread.currentThread().getName()
                +"("+Thread.currentThread().getPriority()+ ")");

        Thread t1=new ThreadP("thread1");    // 新建t1
        Thread t2=new ThreadP("thread2");    // 新建t2
        t1.setPriority(5);               // 設置t1的優先級為1
        t2.setPriority(5);              // 設置t2的優先級為10
        t1.start();                      // 啟動t1
        t2.start();                      // 啟動t2
    }

}
class ThreadP extends Thread{

    public ThreadP(String name) {
        super(name);
    }

    public void run(){
        for (int i=0; i<5; i++) {
            System.out.println(Thread.currentThread().getName()
                    +"("+Thread.currentThread().getPriority()+ ")"
                    +", loop "+i);
        }
    }

}

運行結果如下:

main(5)

thread2(10), loop 0

thread1(1), loop 0

thread2(10), loop 1

thread2(10), loop 2

thread2(10), loop 3

thread2(10), loop 4

thread1(1), loop 1

thread1(1), loop 2

thread1(1), loop 3

thread1(1), loop 4

 

 

自己編了一個股票監控軟件,有如下功能,有興趣的朋友可以下載;

(1)   個股監測。監測個股實時變化,可以監測個股大單交易、急速拉升和下降、主力入場和出場、股票最高點和最低點提醒。檢測到最高點、最低點、主力進場點、主力退場點、急速拉升點、急速下跌點,給出語音或者聲音提醒,不用再時刻看着大盤了,給你更多自由的時間;

(2)   大盤監測。監測大盤的走勢,采用上證、深證、創業三大指數的綜合指數作為大盤走勢。並實時監測大盤的最高點和最低點、中間的轉折點。

(3)   股票推薦。還能根據歷史數據長期或短期走勢進行分析,對股市3千多個股票進行分析對比,選出漲勢良好的股票,按照增長速度從大到小排序,推薦給你漲勢良好的股票;

下載地址:

1.0.3版本(修復大盤指數崩潰缺陷)下載地址:

鏈接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取碼:003h

更新鏈接:

https://www.cnblogs.com/bclshuai/p/10621613.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM