欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java線程優(yōu)先級示例代碼

 更新時間:2013年09月09日 11:32:06   作者:  
使用過Bit下載軟件的同學應該很清楚,我們有多個下載任務同時執(zhí)行,而其中的某一個或多個是非常重要的,于是給這些任務設定一個高度優(yōu)先,以便任務可以獲取更多的帶寬盡早完成下載

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

復制代碼 代碼如下:

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;

/**
 * 線程的優(yōu)先級
 * 10個計數(shù)器線程分別被設置了不同的優(yōu)先級,我們通過計數(shù)器的累加來觀察優(yōu)先級的作用
 * @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("線程的優(yōu)先級");
        pane = new JPanel();
        thread = new MyThread[10];
        for(int i = 0; i < 10; i++){ // 線程的優(yōu)先級最小是1,最大是10
            thread[i] = new MyThread(i + 1);
        }
        startButton = new JButton("執(zhí)行");
        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);
    }
    /**
     * 計數(shù)器線程
     */
    class MyThread extends Thread{
        private JTextField text = null; // 計數(shù)器
        private int i = 0; // 計數(shù)器
        private int priority = 0; // 優(yōu)先級
        private JLabel label = null; // 優(yōu)先級顯示標簽
        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); // 將自己的計數(shù)器加入主窗口面板中
        }
        /**
         * 結束線程
         */
        public void quit(){
            b = false;
        }
        public void run(){
            while(b){
                this.text.setText(Integer.toString(i++));
                try {
                    this.sleep(1); // 減小這里的毫秒數(shù),可以讓我們更容易觀察到結果
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }

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

相關文章

  • Java非侵入式API接口文檔工具apigcc用法詳解

    Java非侵入式API接口文檔工具apigcc用法詳解

    這篇文章主要介紹了Java非侵入式API接口文檔工具apigcc用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Java web含驗證碼及權限登錄實例代碼

    Java web含驗證碼及權限登錄實例代碼

    這篇文章主要介紹了Java web含驗證碼及權限登錄實例代碼,所用到的開發(fā)工具為myeclipse10,MySQL數(shù)據(jù)庫,具體實現(xiàn)代碼大家參考下本文吧
    2017-03-03
  • java中catalina.home與catalina.base區(qū)別點整理

    java中catalina.home與catalina.base區(qū)別點整理

    在本篇文章里小編給大家整理的是關于java項目中catalina.home與catalina.base區(qū)別點,需要的朋友們可以學習下。
    2020-02-02
  • 解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時失效問題

    解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlE

    這篇文章給大家介紹了在Spring.xml文件中配置mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時失效問題解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-12-12
  • eclipse實現(xiàn)DSA數(shù)字簽名

    eclipse實現(xiàn)DSA數(shù)字簽名

    這篇文章主要為大家詳細介紹了eclipse實現(xiàn)DSA數(shù)字簽名算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Java并發(fā)之搞懂讀寫鎖

    Java并發(fā)之搞懂讀寫鎖

    這篇文章主要介紹了Java并發(fā)之讀寫鎖,文中相關實例代碼詳細,測試可用,具有一定參考價值,需要的朋友可以了解下,希望能夠給你帶來幫助
    2021-11-11
  • Mybatis plus 配置多數(shù)據(jù)源的實現(xiàn)示例

    Mybatis plus 配置多數(shù)據(jù)源的實現(xiàn)示例

    這篇文章主要介紹了Mybatis plus 配置多數(shù)據(jù)源的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 淺談Spring Boot 微服務項目的推薦部署方式

    淺談Spring Boot 微服務項目的推薦部署方式

    這篇文章主要介紹了淺談Spring Boot 微服務項目的推薦部署方式,具有一定參考價值,需要的朋友可以了解下。
    2017-09-09
  • springboot使用EMQX(MQTT協(xié)議)的實現(xiàn)

    springboot使用EMQX(MQTT協(xié)議)的實現(xiàn)

    最近由于iot越來越火, 物聯(lián)網(wǎng)的需求越來越多, 那么理所當然的使用mqtt的場景也就越來越多,本文主要介紹了springboot使用EMQX(MQTT協(xié)議)的實現(xiàn),感興趣的可以了解一下
    2023-10-10
  • 深入理解 Java注解及實例

    深入理解 Java注解及實例

    這篇文章主要介紹了深入理解 Java注解及實例的相關資料,希望通過本文大家能夠掌握java注解的知識,需要的朋友可以參考下
    2017-09-09

最新評論