av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語言

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

時(shí)間:2025-03-21 14:40:26 java語言 我要投稿
  • 相關(guān)推薦

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

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

  復(fù)制代碼 代碼如下:

  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)先級(jí)

  * 10個(gè)計(jì)數(shù)器線程分別被設(shè)置了不同的優(yōu)先級(jí),我們通過計(jì)數(shù)器的累加來觀察優(yōu)先級(jí)的作用

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

  public TestMain(){

  super("線程的優(yōu)先級(jí)");

  pane = new JPanel();

  thread = new MyThread[10];

  for(int i = 0; i < 10; i++){ // 線程的優(yōu)先級(jí)最小是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);

  }

  /**

  * 計(jì)數(shù)器線程

  */

  class MyThread extends Thread{

  private JTextField text = null; // 計(jì)數(shù)器

  private int i = 0; // 計(jì)數(shù)器

  private int priority = 0; // 優(yōu)先級(jí)

  private JLabel label = null; // 優(yōu)先級(jí)顯示標(biāo)簽

  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); // 將自己的計(jì)數(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();

  }

  }

【Java優(yōu)先級(jí)線程代碼示例】相關(guān)文章:

Java線程同步的優(yōu)先級(jí)介紹04-10

Java線程同步的優(yōu)先級(jí)是什么04-24

關(guān)于循環(huán)的java代碼示例05-28

java中通用的線程池實(shí)例代碼08-27

java構(gòu)造函數(shù)實(shí)現(xiàn)代碼示例04-01

java的多線程04-09

java多線程05-11

Java實(shí)現(xiàn)在不同線程中運(yùn)行的代碼實(shí)例詳解06-11

Java多線程的線程守護(hù)例子06-08