Java 被困在while(true)循环中。如何在线程中隔离它?
下面是run()方法: 这是按钮:Java 被困在while(true)循环中。如何在线程中隔离它?,java,while-loop,runnable,Java,While Loop,Runnable,下面是run()方法: 这是按钮: btnRun = new JButton("Run Server"); btnRun.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if (running == false) { running = true; run();
btnRun = new JButton("Run Server");
btnRun.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (running == false) {
running = true;
run();
}
}
});
当点击按钮时,软件冻结(它自己被困在while(true)循环中无休止地运行)。据我所知,我需要在一个单独的“线程”中运行这个循环,在另一个“线程”中运行GUi。但问题是:我以为我正是通过实现Runnable接口来做到这一点的
如何在线程中隔离此选项(true),以便使用GUI的其余部分,包括
“JFrame.EXIT\u ON\u CLOSE”*
仅实现Runnable是不够的,需要显式启动线程:
Thread myThread = new Thread(myRunnable);
myThread.start();
Thread myThread = new Thread(myRunnable);
myThread.start();