gpt4 book ai didi

multithreading - 如何在不使用线程池执行器的情况下在单独的线程上异步执行可调用任务?

转载 作者:行者123 更新时间:2023-12-04 04:25:02 26 4
gpt4 key购买 nike

我需要在单独的线程上执行可调用任务,并在不使用线程池执行器的情况下执行处理操作。下面是使用 RxJava 为我工作的解决方案。希望这可以帮助那里的人。如果您有任何建议或不同的解决方案,请随时在下方回答。

@Component
public class TaskProcessor<T> {


@FunctionalInterface
public interface ProcessResult<V> {
void process(V v);
}


public void runTaskOnNewThread(Callable<T> task,ProcessResult<T> action) {
Assert.notNull(task, "task cannot be null");

Observable.fromCallable(task)
.subscribeOn(Schedulers.newThread())
.subscribe(new Action1<T>() {

@Override
public void call(T result) {
action.process(result);

}
});

}

}

最佳答案

(new Thread(()-> {action.process(task.call())}).start();

关于multithreading - 如何在不使用线程池执行器的情况下在单独的线程上异步执行可调用任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com