问题标签 [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.
java - 跟踪提交给 ThreadPoolExecutor 的任务
我在 ThreadPoolExecutor 中运行多个任务。我将其初始化如下:
我自己实现了runnable( VideoExportThread
),它包含一个getProgress()
跟踪提交任务进度的方法。我提交的实例如下:
我正在寻找一种查询 executor/blockingQueue 以获取当前/待处理线程的方法。我尝试使用jobQueue.toArray()
并覆盖 executor 方法beforeExecute(Thread t, Runnable r)
,但在这两种情况下,返回的 runnable 都是 FutureTask 类型,它不包含太多数据。有没有办法让我使用它来检索我的原始VideoExportThread
实例以识别哪些正在运行并查询其进度?
谢谢
java - 使用 ScheduledThreadPoolExecutor 时中断和重启任务
我在理解 ScheduledThreadPoolExecutor 的工作原理时遇到了一点问题(我正在使用 SCA,所以不要打扰代码中的注释)。这是我的调度程序类代码的一部分:
这是我的任务类代码的一部分:
现在这是大问题!我到处看到人们在 ScheduledFutures 上使用取消,然后在调度程序上使用关闭方法,但我不想停止调度程序。让我稍微解释一下:在这个应用程序中,周期性任务必须在任何时候单独调度、停止和重新调度,所以我需要一种方法来在单个任务开始运行时中断它,而无需关闭整个调度程序服务。我希望你能理解我在做什么,有什么建议吗?谢谢 :)
android - doInBackground() 处的致命异常 AsyncTask #1
我是 Android 新手,我正在开发一个应用程序,它从 QR 码获取一些信息,然后连接一个 php 页面。但是,应用程序在读取 QR 码后崩溃,并且 logCat 在我运行它时会给出致命异常 AsyncTask #1。
这是doInBackground()
代码:
CreateNewProduct
在另一个读取 QR 码的类中,我在读取 QR 码new CreateNewProduct().execute();
后调用它。
这是 LogCat:
更新:
在我添加http://
并setTexT()
作为评论后,JSON 错误被添加到 LogCat:
谢谢您的帮助!
java - 如何检查执行程序何时完成运行特定的 Runnable
我正在寻找一种方法来等待并在特定 Runnable 在执行程序中完成执行时收到通知。
我发现一个FutureTask有一个方法get
,但是,它返回一个值。我的程序不期望返回值;有没有类似 FutureTask 的不需要返回值的数据结构?几乎像 FutureRunnable?
谢谢!
java - 多线程 - 命名线程和处理异常
在java中,实现两个线程要求的建议方法是什么
- 我想要一个线程的名字
- 我希望父(或主)线程知道这个子线程是否有任何异常。
对于 2,我知道拥有一个未来的对象会是一个更好的方法。所以要实现上面的两个要求,下面是我想出的一个代码
这似乎是很多简单东西的代码。还有更好的方法吗?
注意 - 使用 executorService 不是一个选项,因为我有没有执行类似任务的线程。executorService 也接受线程名称前缀而不是线程名称。我想给每个线程一个唯一的名称。
scala - 使用 Scala 期货时如何捕获 RejectedExecutionException?
关闭执行程序时我应该在哪里捕获 RejectedExecutionExceptions ?我试过了:
和 :
也不起作用。仍然得到:
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=true
on threadpoolexecutor
,没有运气。
java - 带有引用 FutureTask 的 Callable 的 FutureTask
我有一种情况,我需要创建一个带有 Callable 的 FutureTask 来检查它的所有者是否已被取消。我的代码如下所示:
基本上doNetworkRequest
询问CarryOnCallback
它是否应该在操作期间的某些时间继续。我希望此回调查看FutureTask
调用的doNetworkRequest
是否已取消,这涉及查询实际FutureTask
对象。
现在我知道您无法真正访问“this”,因为它尚未构建。但是有没有办法解决这个问题,或者对我的情况有更好的设计?
干杯
编辑:
好的,所以我现在就这样处理。制作了一个自定义的 Callable 和 FutureTask。Callable 包含对 FutureTask 的引用,这可以在创建新的 Callable 后手动设置:
仅供参考,InnerCallable
看起来像这样:
java - 使每个捆绑包的线程超时时出现线程安全问题
我正在开发一个项目,其中我将拥有不同的捆绑包/模型。举个例子,假设我有 4 个包,每个包都有一个方法名称process
。
以下是我应该做的事情-
- 我需要
process method
使用多线程并行调用所有这 4 个捆绑包,并且process method
在每个捆绑包中都会返回一个地图,然后将此地图写入同一个线程中的数据库或任何最好的方法(我不确定这是正确的方法)。 - 而且我还想在线程级别启用某种超时功能。这意味着如果任何 Bundle 需要花费大量时间来执行,则该 Bundle 线程应该超时并记录为错误,说明该特定捆绑包超时,因为它需要很多时间。
我所做的以下尝试很可能是有缺陷的,并且错误处理绝不是完整的。任何人都可以指导我在错误处理案例中应该做什么吗?
下面是我的方法,它将process method
以多线程方式调用所有包。
其次,为您的线程实现 Callable :
谁能告诉我上述方法是否有任何问题,或者有没有更好更有效的方法来做同样的事情?我不确定是否也存在任何线程安全问题。
任何帮助将不胜感激。
multithreading - 如何在 FutureTask 的调用方法中更新全局变量的值
我试图通过阅读文章javafx concurrency来弄清楚并发在 javafx 中的工作原理,但是,我想知道如何在对象call
方法中更新全局静态变量的值FutureTask
?这是一个简单的例子来理解我在说什么;
因此,futTask.isDone()
永远不会返回 true。我可以理解,futTask 可能还没有完成它的过程,或者它可能由于Platform.runLater
. 但是,“in thread”字符串打印在控制台上,那么为什么 x 没有更新到 6 呢?