如何从 Java 中的内部 Thread Runnable 方法获取返回值?

2024-01-17

我该如何分配Status with CallMe() using isFinish()返回值 true 吗?

public static boolean isFinish ()
{    
  boolean Status = false;
  new Thread(new Runnable()
  {
    public void run()
    {
      /* This shell return true or false 
       * How do you keep it in Status
       */
      CallMe(); 
    }
  }).start();

  /* How can i get the true or false exactly from CallMe? here */
  return Status;
}

public static boolean CallMe()
{
  /* some heavy loads ... */
  return true;
}

有两种方法可以做到这一点。 第一个是使用未来的计算结果,另一个是共享变量。 我认为第一种方法比第二种方法干净得多,但有时您也需要将值推送到线程。

  • Using a RunnableFuture.

FutureTask实现了一个RunnableFuture。因此,您创建了该任务,一旦执行,该任务就会产生价值。

RunnableFuture f = new FutureTask(new Callable<Boolean>() {
  // implement call
});
// start the thread to execute it (you may also use an Executor)
new Thread(f).start();
// get the result
f.get();
  • 使用持有者类

您创建一个包含值的类并共享对该​​类的引用。您可以创建自己的类或简单地使用AtomicReference。 持有者类是指具有公共可修改属性的类。

// create the shared variable
final AtomicBoolean b = new AtomicBoolean();
// create your thread
Thread t = new Thread(new Runnable() {
  public void run() {
    // you can use b in here
  }
});
t.start();
// wait for the thread
t.join();
b.get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Java 中的内部 Thread Runnable 方法获取返回值? 的相关文章

  • Java 错误和警告列表

    在哪里 如何获得所有 java 和 javac 的错误和警告消息的列表 This http mindprod com jgloss compileerrormessages html我认为页面是您所需要的
  • java中高效的输入流到字符串方法

    因此 我在 Java 中的 诚然非常简单 应用程序上运行探查器 令我惊讶的是 仅次于需要在时间上发出 HTTP 请求的方法的是我的方法 inputStreamToString方法 目前它的定义如下 public static String
  • Android 中的处理程序到处理程序与 Messenger 到 Messenger 通信

    问题 使用起来是否 更好 更快且开销更少 Handler http developer android com reference android os Handler html与使用 Handler 通信相比信使 http develop
  • 如何杀死 Java Future?

    我正在开发的服务使用 Future 来并行运行多个任务 每个任务最多可能需要一分钟才能完成 然而 外部库似乎有问题 因为在某些情况下 2 的时间 它不会返回 在这些情况下 我想给出 2 分钟的等待时间 如果还没有返回 我想杀死 future
  • Android 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR) libwebviewchromium.so

    对于 android 4 4 我多次收到 Native crash at system lib libwebviewchromium so 错误 以下是设备包括 Xperia Z1 SO 01F 16 30 2 Galaxy Tab4 7
  • 清空变量不会使方法引用无效[重复]

    这个问题在这里已经有答案了 为什么代码不抛出NullPointerException当我使用与变量绑定的方法引用时dog我后来分配了null to 我正在使用 Java 8 import java util function Functio
  • 在后台线程上搜索

    我试图在 iPhone 应用程序中搜索数千个对象 但是搜索严重滞后 每次击键后 UI 都会冻结 1 2 秒 为了防止这种情况 我必须在后台线程上执行搜索 我想知道是否有人有一些在后台线程上搜索的提示 我读了一点NSOperation并在网上
  • Spring 从 JBoss 上下文加载 PropertySourcesPlaceholderConfigurer

    我有一个使用 PropertySourcesPlaceholderConfigurer 的 spring 3 1 应用程序加载设置 我想管理测试和生产环境 只需从服务器上下文加载设置覆盖本地文件属性中指定的设置 下一个示例在 Tomcat
  • 是否可以使用 Apache Tika 提取表信息?

    我正在寻找 pdf 和 MS Office 文档格式的解析器 以从文件中提取表格信息 当我看到 Apache Tika 时 正在考虑编写单独的实现 我能够从任何这些文件格式中提取全文 但我的要求是提取表格数据 我希望有 2 列采用键值格式
  • 递归取消 allOf CompletableFuture

    如果我有 CompletableFuture
  • 如何检查单词是否在wordNet中

    我开始了解wordNet直到我知道我找到了synonymous对于一个特定的词 现在我有一个文件 我想使用标记化该文本n gram例如 String s I like to wear tee shirt 使用后n gram这将是 I lik
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • 从字符串中删除重音符号

    Android 中有没有什么方法 据我所知 没有 java text Normalizer 可以从字符串中删除任何重音 例如 变成 eau 如果可能的话 我想避免解析字符串来检查每个字符 java text NormalizerAndroi
  • 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

    我在 MVC 控制器中使用 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息 它似乎会永远等待回复 该文档指出 返回 回复 如果无法接收消息 例如由于超时 则可能为 null 然而 我只是不
  • javadoc 子集/java 库组织

    我自己从来没有运行过javadoc 无论是在命令行还是ant 的 javadoc 任务 http ant apache org manual Tasks javadoc html 我将使用 ant 我需要为我编写的库生成 javadoc 问
  • 为 REST API 生成 Swagger UI 文档

    我使用 Java 中的 JAX RS Jersey 开发了 REST API 我想为其转换 生成基于 Swagger 的 UI 文档 谁能以简单的方式告诉我如何做到这一点的精确 步骤 很抱歉 他们网站上给出的步骤对我来说有点模糊 有多种方法
  • 为什么/何时应该使用泛型方法?

    学习Java的时候遇到过通用方法 public
  • XCode std::thread C++

    对于学校的一个小项目 我需要创建一个简单的客户端 服务器结构 它将在路由器上运行 使用 openWRT 并且我试图在这个应用程序中使用线程做一些事情 我的 C 技能非常有限 所以我在internet https stackoverflow
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe
  • Graphics2D setfont() 严重减慢了 java 应用程序的启动速度

    我正在用java制作一个游戏 它每秒刷新60次 每次执行循环时 我都会使用 g2d 来绘制图像和字符串 如果我这样做的话一切都会很好g2d setFont new Font Arial Font PLAIN 8 和抽绳 这将是正常的 但如果

随机推荐

  • 如何检测 MDIClient 窗口何时滚动

    当用户通过拖动 MDIS 客户端的滚动条拇指滚动子窗口时 我需要更新 System Windows Forms MDI 客户端容器内子窗口的位置 但是我找不到发生这种情况时触发的事件 我只是错过了它 还是我需要一个解决方法 可能是直接与滚动
  • elasticsearch python 客户端 - 与许多节点一起工作 - 如何使用嗅探器

    我有一个包含 2 个节点的集群 我试图了解连接节点的最佳实践 并在一个节点出现停机时检查故障转移 from 文档 http elasticsearch py readthedocs io en master api html nodes e
  • python 在html中显示unicode

    我正在编写脚本将我的链接及其标题从 chrome 导出到 html Chrome 书签以 json 形式存储 采用 utf 编码有些标题是俄语的 因此它们存储如下 名称 u0425 u0430 u0431 u0440 import code
  • 如何告诉 WebStorm 在 Docker 容器中查找项目?

    我当前的项目目录如下所示 backend Dockerfile NestJS Dockerfile docker Folder that contains docker compose yml file package json src f
  • ERLANG - 将列表拆分为子列表

    嗨 这是我在这里的第一篇文章 希望你们一切都好 所以我刚刚开始 erlang 我遇到了一个问题 我还不知道如何解决 所以我收到的二进制文件格式为 lt lt 56 23 67 34 45 78 01 54 67 87 45 53 01 34
  • Django REST 框架 JSONParser().parse(request) 引发错误

    在 Django 视图中 我正在尝试这样做 csrf exempt def customer list request List all customers or create a new customer if request metho
  • 在整个视图控制器中多次调用presentViewController方法会导致iOS中的内存泄漏吗?

    我知道已经有很多与这个主题相关的讨论 但在所有讨论中都讨论了 2 个视图控制器 A B 我的情况类似但又不同 当有多个视图控制器 如 A B C D 时会发生什么 所以呈现流程如下 视图控制器 A 主页 呈现视图控制器 B 列表 然后从视图
  • INSERT 语句中出现“此处不允许列”错误

    我创建了这个名为 LOCATION 的表 通过做这个 CREATE TABLE LOCATION POSTCODE VARCHAR 10 PRIMARY KEY STREET NAME VARCHAR 20 CITY VARCHAR 20
  • 在 FastCGI 和 Octave 中重新定义标准输出

    我正在努力在 Ubuntu Linux 中使用 C C 在 FastCGI 会话中实现 Octave 解释器 我遇到的问题是 FCGI 重定向stdout to FCGI 标准输出 但预编译的 Octave 头文件仍然使用正常的stdout
  • Flex:组合框控件的自定义项目渲染器截断文本

    我已经实现了一个自定义项目渲染器 我正在处理的 Flex 项目上将其与组合框一起使用 它显示每个项目的图标和一些文本 唯一的问题是 当文本较长时 菜单的宽度无法正确调整 并且文本在显示时会被截断 我尝试调整所有明显的属性来缓解这个问题 但没
  • 如何将图像保存到sqlite数据库

    在我的课程中 我有一个方法可以在照片库中搜索图像 并接收从手机摄像头拍摄的图像 我现在需要将此图像保存在 sqlite 数据库中 我正在使用像 BLOB 这样的数据库字段 但不像在 bity 中序列化图像或在decode64 中进行转换以写
  • 在 GraphQL 架构中使用数字作为键?

    您可以使用 GraphQL Schema 语言在 GraphQL Schema 中使用数字作为键吗 即 这是一个小片段 type tax code allocation country KOR states 11 tax code allo
  • 将 `:map` 的输出获取到缓冲区

    我想得到无参数的输出 map调用 以便我可以使用 vim 的搜索功能来查找映射 我发现关于 redir 它将 ex 命令的输出重定向到变量 寄存器或文件中 但它似乎不适用于 map 它必须以某种不同的方式输出映射 例如 echo hello
  • 如何使用可旁加载的证书创建 UWP 应用

    我正在尝试创建一个可以侧载到其他电脑上的 UWP 应用程序 我的主要问题是 我是否需要来自可信来源的证书来签署我的应用程序 经过大量研究后 我了解到您可以通过应用程序旁加载 安装 UWP 应用程序应用程序安装程序 https www mic
  • 中介者模式与创建

    我的演示文稿中有几个需要相互交互的 小部件 但交互已经变得足够复杂 需要一个新对象来处理交互 在尝试通过中介者作为该对象进行工作时 我对如何有效地构建参与者感到困惑 中介者必须了解小部件 而小部件也必须了解中介者 使用下面的玩具类 有人可以
  • jquery 日期时间选择器设置 minDate 动态

    我正在使用trentrichardson com 的日期时间选择器 我有一个带有两个输入字段的表单 from and to我希望能够动态地将 minDate 设置为我的 to 字段 等于我的 from 字段的值 我知道我应该使用 befor
  • 从 Unix 时间戳转换为 Groovy 中的日期

    我有一个 unix 时间戳中的日期 我想将其转换为人类可读的 def dateUnix 1486146877214 Date dateObj new Date long dateUnix 1000 def cleanDate new Sim
  • 加载了错误的 Java 资源包

    在我的应用程序中 我使用 java 资源包来翻译其标签 我目前有两个文件 带有英语标签的 resources properties 默认语言 带有法语标签的 resources fr properties 然后 我使用以下命令加载捆绑包属性
  • XSLT - 识别具有相同属性值模式的连续节点

    我有这样的xml section p aa p p bb p p cc p p dd p p ee p p ff p p gg p p hh p p ii p p jj p p xx p p p section
  • 如何从 Java 中的内部 Thread Runnable 方法获取返回值?

    我该如何分配Status with CallMe using isFinish 返回值 true 吗 public static boolean isFinish boolean Status false new Thread new Ru