问题标签 [futuretask]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1885 浏览

java - 跟踪提交给 ThreadPoolExecutor 的任务

我在 ThreadPoolExecutor 中运行多个任务。我将其初始化如下:

我自己实现了runnable( VideoExportThread),它包含一个getProgress()跟踪提交任务进度的方法。我提交的实例如下:

我正在寻找一种查询 executor/blockingQueue 以获取当前/待处理线程的方法。我尝试使用jobQueue.toArray()并覆盖 executor 方法beforeExecute(Thread t, Runnable r),但在这两种情况下,返回的 runnable 都是 FutureTask 类型,它不包含太多数据。有没有办法让我使用它来检索我的原始VideoExportThread实例以识别哪些正在运行并查询其进度?

谢谢

0 投票
1 回答
1752 浏览

java - 使用 ScheduledThreadPoolExecutor 时中断和重启任务

我在理解 ScheduledThreadPoolExecutor 的工作原理时遇到了一点问题(我正在使用 SCA,所以不要打扰代码中的注释)。这是我的调度程序类代码的一部分:

这是我的任务类代码的一部分:

现在这是大问题!我到处看到人们在 ScheduledFutures 上使用取消,然后在调度程序上使用关闭方法,但我不想停止调度程序。让我稍微解释一下:在这个应用程序中,周期性任务必须在任何时候单独调度、停止和重新调度,所以我需要一种方法来在单个任务开始运行时中断它,而无需关闭整个调度程序服务。我希望你能理解我在做什么,有什么建议吗?谢谢 :)

0 投票
3 回答
5786 浏览

android - doInBackground() 处的致命异常 AsyncTask #1

我是 Android 新手,我正在开发一个应用程序,它从 QR 码获取一些信息,然后连接一个 php 页面。但是,应用程序在读取 QR 码后崩溃,并且 logCat 在我运行它时会给出致命异常 AsyncTask #1。

这是doInBackground()代码:

CreateNewProduct在另一个读取 QR 码的类中,我在读取 QR 码new CreateNewProduct().execute();后调用它。

这是 LogCat:

更新:

在我添加http://setTexT()作为评论后,JSON 错误被添加到 LogCat:

谢谢您的帮助!

0 投票
2 回答
4449 浏览

java - 如何检查执行程序何时完成运行特定的 Runnable

我正在寻找一种方法来等待并在特定 Runnable 在执行程序中完成执行时收到通知。

我发现一个FutureTask有一个方法get,但是,它返回一个值。我的程序不期望返回值;有没有类似 FutureTask 的不需要返回值的数据结构?几乎像 FutureRunnable?

谢谢!

0 投票
2 回答
233 浏览

java - 多线程 - 命名线程和处理异常

在java中,实现两个线程要求的建议方法是什么

  1. 我想要一个线程的名字
  2. 我希望父(或主)线程知道这个子线程是否有任何异常。

对于 2,我知道拥有一个未来的对象会是一个更好的方法。所以要实现上面的两个要求,下面是我想出的一个代码

这似乎是很多简单东西的代码。还有更好的方法吗?

注意 - 使用 executorService 不是一个选项,因为我有没有执行类似任务的线程。executorService 也接受线程名称前缀而不是线程名称。我想给每个线程一个唯一的名称。

0 投票
2 回答
3047 浏览

scala - 使用 Scala 期货时如何捕获 RejectedExecutionException?

关闭执行程序时我应该在哪里捕获 RejectedExecutionExceptions ?我试过了:

和 :

也不起作用。仍然得到:

0 投票
1 回答
1867 浏览

java - ThreadPoolExecutor 未来任务-spring bean injection-spring-beans-2.0 的异常

我正在使用 Weblogic 10.3、Spring 2.0、Oracle 11g。当尝试使用“threadpoolexecutor”未来任务(异步响应)时,我在等待异步响应时遇到以下异常,因为线程池执行程序执行的 bean 是“原型”

注意:当我使用 Spring 的 ClassPathXmlApplicationContext 来获取 bean 时,我没有收到异常,这不是获取 bean 的首选方式,因为它会再次加载所有 bean。

我试过 springContextAware ,ApplicationObjectSupport; 那些对我也不起作用。

我的bean定义是

我也试过lazy-init=trueon threadpoolexecutor,没有运气。

0 投票
1 回答
662 浏览

java - 带有引用 FutureTask 的 Callable 的 FutureTask

我有一种情况,我需要创建一个带有 Callable 的 FutureTask 来检查它的所有者是否已被取消。我的代码如下所示:

基本上doNetworkRequest询问CarryOnCallback它是否应该在操作期间的某些时间继续。我希望此回调查看FutureTask调用的doNetworkRequest是否已取消,这涉及查询实际FutureTask对象。

现在我知道您无法真正访问“this”,因为它尚未构建。但是有没有办法解决这个问题,或者对我的情况有更好的设计?

干杯

编辑:

好的,所以我现在就这样处理。制作了一个自定义的 Callable 和 FutureTask。Callable 包含对 FutureTask 的引用,这可以在创建新的 Callable 后手动设置:

仅供参考,InnerCallable看起来像这样:

0 投票
1 回答
107 浏览

java - 使每个捆绑包的线程超时时出现线程安全问题

我正在开发一个项目,其中我将拥有不同的捆绑包/模型。举个例子,假设我有 4 个包,每个包都有一个方法名称process

以下是我应该做的事情-

  1. 我需要process method使用多线程并行调用所有这 4 个捆绑包,并且process method在每个捆绑包中都会返回一个地图,然后将此地图写入同一个线程中的数据库或任何最好的方法(我不确定这是正确的方法)。
  2. 而且我还想在线程级别启用某种超时功能。这意味着如果任何 Bundle 需要花费大量时间来执行,则该 Bundle 线程应该超时并记录为错误,说明该特定捆绑包超时,因为它需要很多时间。

我所做的以下尝试很可能是有缺陷的,并且错误处理绝不是完整的。任何人都可以指导我在错误处理案例中应该做什么吗?

下面是我的方法,它将process method以多线程方式调用所有包。

其次,为您的线程实现 Callable :

谁能告诉我上述方法是否有任何问题,或者有没有更好更有效的方法来做同样的事情?我不确定是否也存在任何线程安全问题。

任何帮助将不胜感激。

0 投票
1 回答
1401 浏览

multithreading - 如何在 FutureTask 的调用方法中更新全局变量的值

我试图通过阅读文章javafx concurrency来弄清楚并发在 javafx 中的工作原理,但是,我想知道如何在对象call方法中更新全局静态变量的值FutureTask?这是一个简单的例子来理解我在说什么;

因此,futTask.isDone()永远不会返回 true。我可以理解,futTask 可能还没有完成它的过程,或者它可能由于Platform.runLater. 但是,“in thread”字符串打印在控制台上,那么为什么 x 没有更新到 6 呢?