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("当前线程被中断");
}
}
}
}
}