一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java線程優先級示例代碼

Java線程優先級示例代碼

2019-10-13 14:47Java教程網 Java教程

使用過Bit下載軟件的同學應該很清楚,我們有多個下載任務同時執行,而其中的某一個或多個是非常重要的,于是給這些任務設定一個高度優先,以便任務可以獲取更多的帶寬盡早完成下載

使用過Bit下載軟件的同學應該很清楚,我們有多個下載任務同時執行,而其中的某一個或多個是非常重要的,于是給這些任務設定一個高度優先,以便任務可以獲取更多的帶寬盡早完成下載。Java線程的優先級也差不多,優先級越高排程器就會給它越多的CPU執行時間,但請注意:如果有多個線程在等待一個機鎖的時候,并不是優先級越高就可以越早執行。

 

復制代碼代碼如下:

import java.awt.BorderLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 

/** 
 * 線程的優先級 
 * 10個計數器線程分別被設置了不同的優先級,我們通過計數器的累加來觀察優先級的作用 
 * @author 五斗米 
 * @blog http://blog.csdn.net/mq612 
 */
public class TestMain extends JFrame { 
    private MyThread [] thread = null; // 要操作的線程 
    private JPanel pane = null; 
    private JButton startButton = null, stopButton = null; // 啟動、結束按鈕 

    public TestMain(){ 
        super("線程的優先級"); 
        pane = new JPanel(); 
        thread = new MyThread[10]; 
        for(int i = 0; i < 10; i++){ // 線程的優先級最小是1,最大是10 
            thread[i] = new MyThread(i + 1); 
        } 
        startButton = new JButton("執行"); 
        startButton.addActionListener(new ActionListener(){ 
            public void actionPerformed(ActionEvent e) { 
                for(int i = 0; i < 10; i++){ 
                    thread[i].start(); 
                } 
            } 
        }); 
        stopButton = new JButton("結束"); 
        stopButton.addActionListener(new ActionListener(){ 
            public void actionPerformed(ActionEvent e) { 
                for(int i = 0; i < 10; i++){ 
                    thread[i].quit(); 
                } 
            } 
        }); 
        JPanel p = new JPanel(); 
        p.add(startButton); 
        p.add(stopButton); 
        this.getContentPane().add(pane); 
        this.getContentPane().add(p, BorderLayout.NORTH); 
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        this.setSize(500, 300); 
        this.setLocationRelativeTo(null); 
        this.setVisible(true); 
    } 
    /** 
     * 計數器線程 
     */
    class MyThread extends Thread{ 
        private JTextField text = null; // 計數器 
        private int i = 0; // 計數器 
        private int priority = 0; // 優先級 
        private JLabel label = null; // 優先級顯示標簽 
        private boolean b = true; // 控制線程結束的boolean變量 

        public MyThread(int priority){ 
            this.priority = priority; 
            this.setPriority(priority); 
            JPanel p = new JPanel(); 
            label = new JLabel("Priority=" + priority); 
            text = new JTextField(12); 
            p.add(label); 
            p.add(text); 
            pane.add(p); // 將自己的計數器加入主窗口面板中 
        } 
        /** 
         * 結束線程 
         */
        public void quit(){ 
            b = false; 
        } 
        public void run(){ 
            while(b){ 
                this.text.setText(Integer.toString(i++)); 
                try { 
                    this.sleep(1); // 減小這里的毫秒數,可以讓我們更容易觀察到結果 
                } catch (InterruptedException ex) { 
                    ex.printStackTrace(); 
                } 
            } 
        } 
    } 

    public static void main(String [] args){ 
        new TestMain(); 
    }   
}  

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲尿尿 | 丰满肥臀风间由美357在线 | 999任你躁在线精品免费不卡 | 高跟丝袜麻麻求我调教 | 四虎永久免费地址在线网站 | 精品一久久香蕉国产线看播放 | 亚洲成色爱我久久 | 果冻传媒mv在线观看入口免费 | 婷婷久久热99在线精品 | 亚洲精品有码在线观看 | www四虎| 国产三级精品三级男人的天堂 | 四虎免费影院在线播放 | 性派对videos18party | 天天色资料| 特大黑人娇小亚洲女mp4 | 亚洲欧洲综合 | 999精品视频在线观看热6 | 精品久久洲久久久久护士免费 | bl文全肉高h湿被灌尿 | 国产xxx在线 | 久久亚洲精品成人 | 免费在线视频网站 | 乌克兰13一14娇小 | 韩国三级年轻小的胰子完整 | 桃乃木香奈作品在线观看 | 欧美亚洲国产成人不卡 | 成人精品| 娇女的呻吟亲女禁忌h16 | 亚洲第一在线播放 | 亚洲精品久久久久福利网站 | 性直播免费 | 手机亚洲第一页 | 91资源站 | 成人性生交小说免费看 | yy111111免费观看 | 韩国三级日本三级香港三级黄 | 日本十大顶级绝伦推理片 | 精品视频一区二区三区 | 欧美日韩高清一区 | 狠狠色伊人亚洲综合网站色 |