可以终止课程吗?

Ski*_*zit 2 java

我有一个运行多个类的程序.我希望一个类在条件为真时停止执行,并且不执行其余代码而不杀死其他类.这个类在它自己的线程上运行.这可以吗?

 class A{
    private void method{
           if(condition == true){
             //terminate class
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

Joe*_*oel 5

我不完全确定你要做什么,但是如果任务在它自己的线程中运行,并且只要condition是该类的成员变量,那么当你将condition设置为false时你应该没问题.像这样的东西:

public class Task implements Runnable {

    private boolean stop = false;

    private void stop() {
        this.stop = stop;
    }

    @Override
    public void run() {
        while (!stop) {
            // do it
        }
    }

    public static void main(String[] args) {
        Task task1 = new Task();
        new Thread(task1).start();
        Task task2 = new Task();
        new Thread(task2).start();      
        // some time later
        task1.stop();
        // will stop task1, but not task 2
    }
}
Run Code Online (Sandbox Code Playgroud)