Java 被困在while(true)循环中。如何在线程中隔离它?

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

下面是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();