奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

Java優先級線程代碼示例

時間:2024-08-09 09:59:08 java語言 我要投稿
  • 相關推薦

Java優先級線程代碼示例

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

  復制代碼 代碼如下:

  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;

  /**

  * 線程的優先級

  * 10個計數器線程分別被設置了不同的優先級,我們通過計數器的累加來觀察優先級的作用

  * @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("線程的優先級");

  pane = new JPanel();

  thread = new MyThread[10];

  for(int i = 0; i < 10; i++){ // 線程的優先級最小是1,最大是10

  thread[i] = new MyThread(i + 1);

  }

  startButton = new JButton("執行");

  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);

  }

  /**

  * 計數器線程

  */

  class MyThread extends Thread{

  private JTextField text = null; // 計數器

  private int i = 0; // 計數器

  private int priority = 0; // 優先級

  private JLabel label = null; // 優先級顯示標簽

  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); // 將自己的計數器加入主窗口面板中

  }

  /**

  * 結束線程

  */

  public void quit(){

  b = false;

  }

  public void run(){

  while(b){

  this.text.setText(Integer.toString(i++));

  try {

  this.sleep(1); // 減小這里的毫秒數,可以讓我們更容易觀察到結果

  } catch (InterruptedException ex) {

  ex.printStackTrace();

  }

  }

  }

  }

  public static void main(String [] args){

  new TestMain();

  }

  }

【Java優先級線程代碼示例】相關文章:

java中通用的線程池實例代碼08-27

關于循環的java代碼示例09-26

java構造函數實現代碼示例08-23

Java實現在不同線程中運行的代碼實例詳解06-11

java多線程08-31

java的多線程09-09

java語言的多線程08-29

java線程的幾種狀態10-22

Java線程編程中的主線程詳細介紹09-05

JAVA多線程之線程間的通信方式解析07-14

主站蜘蛛池模板: 佛冈县| 乐陵市| 固镇县| 哈密市| 开化县| 霸州市| 贡嘎县| 岱山县| 怀化市| 乌兰县| 衢州市| 措美县| 东丽区| 奉贤区| 牙克石市| 文安县| 民和| 吉安县| 虞城县| 瑞丽市| 河津市| 玉屏| 阆中市| 青铜峡市| 榆中县| 南华县| 饶平县| 马关县| 翁牛特旗| 白沙| 枣庄市| 策勒县| 南乐县| 韩城市| 修水县| 吴旗县| 潞西市| 临城县| 忻城县| 曲周县| 德化县|