gpt4 book ai didi

multithreading - 我该如何打断Play中的实时任务!框架

转载 作者:行者123 更新时间:2023-12-04 19:41:14 27 4
gpt4 key购买 nike

我试过没有运气的情况下寻找某种功能来杀死/中断Play中的正常工作!框架。

我想念什么吗?还是玩了!实际没有添加此功能?

最佳答案

Java stop类中没有像Thread方法那样的东西,由于种种原因,该方法已被弃用。干净的方法是使用interrupted bool 值之类的东西。如果扩展play.jobs.Job,则可以轻松添加自己的interrupt方法来更改作业状态。您可以执行以下操作:

ComputeBigPrime primeJob = new ComputeBigPrime();
Promise<Integer> promisedPrime = primeJob.now();

// Timeout for interrupt
await("10s");
primeJob.interrupt();

// Wait until it's really finished to get the result
Integer prime = await(promisedPrime);

render(prime);

如果您想在多个请求之间进行 中断,则可以使用
play.cache.Cache
并为该信息设置唯一的ID(例如UUID),无论线程是否中断。

当然,这是行不通的,如果您的工作卡在其他API调用上,并且无法使用循环,请检查interrupted bool 值,但是如果确实需要像stop
一样执行 Thread硬编码,则可以使用 ,可以尝试在您的 Controller 或作业中使用Thread。就其全部而言,它应该可以使用Java。

关于multithreading - 我该如何打断Play中的实时任务!框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634699/

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