java后台任务

mar*_*vic 8 java multithreading

我想知道在java中实现某种后台任务的最有效方法是什么(我想这将是某种非阻塞线程).更确切地说 - 我有一些java代码,然后在某些时候我需要执行一个长时间运行的操作.我想要做的是在后台执行该操作,以便程序的其余部分可以继续执行,并且当该任务完成时,只需更新一些特定的对象.然后,其他组件将检测到此更改.

Mic*_*zek 11

你想创建一个新线程; 根据方法需要多长时间,您可以将其内联:

// some code
new Thread(new Runnable() {
    @Override public void run() {
        // do stuff in this thread
    }
}).start();
Run Code Online (Sandbox Code Playgroud)

或者只是创建一个新课程:

public class MyWorker extends Thread {
    public void run() {
        // do stuff in this thread
    }
}

// some code
new MyWorker().start();
Run Code Online (Sandbox Code Playgroud)