线程的优先级

public class PriorityTest extends JFrame{

    private static final long seriaVersionUID = 1L;
    private Thread threadA;
    private Thread threadB;
    private Thread threadC;
    private Thread threadD;
    
    public PriorityTest() {
        // TODO Auto-generated constructor stub
        final JProgressBar progressBar = new JProgressBar();
        final JProgressBar progressBar2 = new JProgressBar();
        final JProgressBar progressBar3 = new JProgressBar();
        final JProgressBar progressBar4 = new JProgressBar();
        getContentPane().add(progressBar);
        getContentPane().add(progressBar2);
        getContentPane().add(progressBar3);
        getContentPane().add(progressBar4);
        progressBar.setStringPainted(true);
        progressBar2.setStringPainted(true);
        progressBar3.setStringPainted(true);
        progressBar4.setStringPainted(true);
        threadA = new Thread(new MyThread(progressBar));
        threadB = new Thread(new MyThread(progressBar2));
        threadC = new Thread(new MyThread(progressBar3));
        threadD = new Thread(new MyThread(progressBar4));
        setPrioeity("threadA", 5, threadA);
        setPrioeity("threadB", 5, threadB);
        setPrioeity("threadC", 4, threadC);
        setPrioeity("threadD", 3, threadD);
    }
    
    public static void  setPrioeity(String threadName,int priority,Thread t) {
        t.setPriority(priority);
        t.setName(threadName);
        t.start();
    }
    public static void init(JFrame frame,int width,int height) {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());
        frame.setSize(width, height);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        init(new PriorityTest(),100,100);
    }
    
    private static class MyThread implements Runnable{
        private final JProgressBar bar;
        int count = 0;
        
        public MyThread(JProgressBar Bar) {
            // TODO Auto-generated constructor stub
            this.bar= Bar;
        }
        
        
        public void run() {
            while (true) {
                bar.setValue(count+=10);
                try {
                    Thread.sleep(1000);
                } catch (Exception e) {
                    // TODO: handle exception
                    System.out.println("当前线程被中断");
                }
            }
        }
    }

}

 

posted @ 2019-04-03 18:25  小小超plus  阅读(211)  评论(0编辑  收藏  举报