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

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; // 啟動、結(jié)束按鈕

    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("結(jié)束");
        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; // 控制線程結(jié)束的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ù)器加入主窗口面板中
        }
        /**
         * 結(jié)束線程
         */
        public void quit(){
            b = false;
        }
        public void run(){
            while(b){
                this.text.setText(Integer.toString(i++));
                try {
                    this.sleep(1); // 減小這里的毫秒數(shù),可以讓我們更容易觀察到結(jié)果
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }

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

相關(guān)文章

  • 討論分析JDK17是否會代替JDK8

    討論分析JDK17是否會代替JDK8

    這篇文章主要為大家介紹了JDK17是否會代替JDK8的問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 深入理解Java集合框架如何構(gòu)建高效、靈活的數(shù)據(jù)管理方案

    深入理解Java集合框架如何構(gòu)建高效、靈活的數(shù)據(jù)管理方案

    Java集合框架是Java語言中一個非常重要且強大的部分,它提供了一套豐富、靈活且類型安全的集合數(shù)據(jù)結(jié)構(gòu),幫助開發(fā)者以統(tǒng)一和一致的方式處理數(shù)據(jù)集合,這篇文章主要介紹了深入理解Java集合框架:構(gòu)建高效、靈活的數(shù)據(jù)管理方案,需要的朋友可以參考下
    2025-03-03
  • java中分組統(tǒng)計的三種實現(xiàn)方式

    java中分組統(tǒng)計的三種實現(xiàn)方式

    這篇文章主要介紹了java中分組統(tǒng)計的三種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 如何在Java中使用標準庫創(chuàng)建臨時文件

    如何在Java中使用標準庫創(chuàng)建臨時文件

    有時候我們程序運行時需要產(chǎn)生中間文件,但是這些文件只是臨時用途,并不做長久保存,我們可以使用臨時文件,不需要長久保存,這篇文章主要給大家介紹了關(guān)于如何在Java中使用標準庫創(chuàng)建臨時文件的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Java中import java.util.Scanner的用處詳解

    Java中import java.util.Scanner的用處詳解

    文章主要介紹Java中的Scanner類及其常用方法next()和nextLine()的區(qū)別,next()方法在遇到空格、Tab鍵、回車鍵等分隔符時結(jié)束輸入,而nextLine()方法則接收所有輸入,直到遇到回車鍵
    2024-11-11
  • Java單例模式下的MongoDB數(shù)據(jù)庫操作工具類

    Java單例模式下的MongoDB數(shù)據(jù)庫操作工具類

    這篇文章主要介紹了Java單例模式下的MongoDB數(shù)據(jù)庫操作工具類,結(jié)合實例形式分析了java基于單例模式下操作MongoDB數(shù)據(jù)庫相關(guān)連接、查詢、插入、刪除等操作封裝技巧,需要的朋友可以參考下
    2018-01-01
  • 關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    這篇文章主要介紹了關(guān)于Jackson的JSON工具類封裝 JsonUtils用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java 時間日期詳細介紹及實例

    Java 時間日期詳細介紹及實例

    這篇文章主要介紹了Java 時間日期詳細介紹及實例的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 通過IDEA快速定位和排除依賴沖突問題

    通過IDEA快速定位和排除依賴沖突問題

    這篇文章主要介紹了通過IDEA快速定位和排除依賴沖突問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • MyBatis中select語句中使用String[]數(shù)組作為參數(shù)的操作方法

    MyBatis中select語句中使用String[]數(shù)組作為參數(shù)的操作方法

    在 MyBatis 中,如何在 mapper.xml 配置文件中 select 語句中使用 String[] 數(shù)組作為參數(shù)呢,并且使用IN關(guān)鍵字來匹配數(shù)據(jù)庫中的記錄,這篇文章主要介紹了MyBatis中select語句中使用String[]數(shù)組作為參數(shù),需要的朋友可以參考下
    2023-12-12

最新評論

贵溪市| 南木林县| 同江市| 西华县| 银川市| 云和县| 安达市| 舒兰市| 苏尼特左旗| 勐海县| 大邑县| 武陟县| 滁州市| 阜南县| 台北县| 资兴市| 尤溪县| 深圳市| 河西区| 内江市| 蓬莱市| 保亭| 宁乡县| 启东市| 沁源县| 临邑县| 兴化市| 军事| 泗阳县| 集贤县| 南皮县| 潮安县| 巴青县| 许昌县| 东莞市| 广水市| 灵丘县| 佳木斯市| 大洼县| 宜兰县| 海兴县|