如何实现真正的异步 Java 线程
2022-09-02 05:29:56
我有一个函数需要执行两个操作,一个快速完成,一个需要很长时间才能运行。我希望能够将长时间运行的操作委托给线程,我不在乎线程何时完成,但线程需要完成。我实现了这一点,如下所示,但是,我的第二次操作从未完成,因为函数在start()调用后退出。我如何确保函数返回,但第二个操作线程也完成其执行并且不依赖于父线程?
public void someFunction(String data)
{
smallOperation()
SecondOperation a = new SecondOperation();
Thread th = new Thread(a);
th.Start();
}
class SecondOperation implements Runnable
{
public void run(){
// doSomething long running
}
}