监控程序线程

程序线程可分为监控程序线程和用户线程:
可以用Thread的setDaemon()设置。true为监控线程,false为用户线程...
二者区别在于,用户线程会阻止JVM退出,而监控线程则不会,
package lession3;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test {
protected JFrame frame;

public static void main(String args[]){
Test t=new Test();
}
public Test(){
frame=new JFrame("HelloWorld");
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent event){
frame.setVisible(false);
frame.removeWindowListener(this);
frame.dispose();
frame=null;
}
});
Container pane=frame.getContentPane();
pane.setLayout(new FlowLayout());
pane.add(new JLabel("Helloworld!"));
frame.setSize(400,300);
frame.setVisible(true);
}
    /*
     * 本例中阻止JVM退出的是用户线程是AWT事件线程。该线程在JFrame创建时启动,用于生成
     * 框架并提供事件通知服务,如果仍有用户线程执行中,则可以调用System.exit(0)强行退出。
     */
}

你可能感兴趣的:(java,jvm,thread,框架,swing)