色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JAVA帶界面的線程掛起和繼續

錢諍諍1年前8瀏覽0評論

線程是編程中非常重要的概念,它可以幫助我們實現多任務和并發。Java是一種非常流行的編程語言,它也支持線程。在Java中,如果我們需要控制線程的狀態,可以通過掛起和繼續線程來實現。下面我們將介紹如何在Java中實現帶界面的線程掛起和繼續。

//創建一個線程類
class MyThread extends Thread{
boolean isPause; //標志位,用于控制線程的狀態
public void setPause(boolean isPause) {
this.isPause = isPause;
}
@Override
public void run() {
super.run();
int i=0;
while (true){
if(!isPause){
try {
Thread.sleep(1000);//線程休眠一秒
} catch (InterruptedException e) {
e.printStackTrace();
}
i++;
System.out.println("線程執行次數:"+i);
}
}
}
}
//在UI界面上設置掛起和繼續按鈕
public class TestFrame extends JFrame{
private JButton pauseButton; //掛起按鈕
private JButton resumeButton; //繼續按鈕
private MyThread myThread; //線程對象
public TestFrame(){
initComponents();
}
private void initComponents(){
setTitle("帶界面的線程掛起和繼續");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setBounds(100,100,300,100);
//掛起按鈕
pauseButton=new JButton();
pauseButton.setText("掛起");
pauseButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
myThread.setPause(true); //設置線程狀態為掛起
}
});
getContentPane().add(pauseButton,BorderLayout.WEST);
//繼續按鈕
resumeButton=new JButton();
resumeButton.setText("繼續");
resumeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
myThread.setPause(false); //設置線程狀態為繼續
}
});
getContentPane().add(resumeButton,BorderLayout.EAST);
//創建線程對象
myThread=new MyThread();
myThread.isPause=false;
myThread.start();
setVisible(true);
}
public static void main(String[] args){
TestFrame testFrame=new TestFrame();
}
}

可以看到,我們創建了一個MyThread類,這個類繼承自Thread類,同時擁有一個標志位isPause,用于控制線程的狀態。在線程的run方法中,如果標志位為false,就讓線程休眠1秒并輸出執行次數,否則什么都不做。在UI界面上,我們創建了兩個按鈕,一個是掛起按鈕,一個是繼續按鈕。通過設置標志位,我們可以實現線程的掛起和繼續。

帶界面的線程掛起和繼續是很常見的需求,通過這篇文章,你可以快速掌握Java中線程掛起和繼續的實現方法,進而實現自己的需求。