java中如何将一个线程与另一个线程连接起来?

2024-04-16

我有一个主线程启动其他 10 个线程。我希望只有在所有其他线程停止后主线程才会完成。那么我应该在其他 10 个线程启动之前或启动之后调用 join() 吗?例如:

// in the main() method of Main thread
Thread [] threads = new Thread[10];
for(int i = 0; i < 10; i++) {
    // ParserThread() is a runnable thread
    threads[i] = new Thread(new ParserThread());
    threads[i].join();
    threads[i].start();
}
System.out.println("All threads have been finished"); // line no. 9
  1. 就像上面的例子一样,我应该在start()之前还是start()之后调用join()。
  2. 控件会返回到第 1 行吗? 9 仅在所有线程完成后。
  3. 当任何线程的run方法被执行后,该线程将死亡或保持活动状态。如果会的话,当它们的 run 方法完成时如何终止所有线程意味着当控制返回到第 1 行时。 9

Calling join()在线程上才有意义after线程已启动。来电者为join()将停止并等待,直到另一个线程完成它正在做的事情。所以你可能想要这样做:

// in the main() method of Main thread
Thread [] threads = new Thread[10];
for(int i = 0; i < 10; i++) {
    // ParserThread() is a runnable thread
    threads[i] = new Thread(new ParserThread());
    threads[i].start();
}
System.out.println("All threads have been started");
for(int i = 0; i < 10; i++) {
    threads[i].join();
}
System.out.println("All threads have been finished");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中如何将一个线程与另一个线程连接起来? 的相关文章

随机推荐

  • 安装到 {sys} 的文件/DLL 未出现在 C:\Windows\system32 中

    我不知道为什么 但是当我尝试将文件从安装目录复制到system32 尽管在 Inno Setup 中显示安装成功 但它未能执行此操作 这是我的代码 Files specifies what files will be included in
  • theta 表示法称为平均情况吗?

    有些书指出 theta 表示法称为平均情况 而另一些书则指出 theta 不是平均情况 如果 theta 不是平均情况 那么什么是算法的平均情况 O 和 符号实际上与算法的最佳 平均 最差情况无关 它们是表达函数渐近行为的方法 无论函数是什
  • AIR/Actionscript 中没有这样的表 SQLITE_SEQUENCE

    我正在尝试使用 AIR ActionScript Flex 4 5 重置 SQLITE 中自动增量字段的种子 我正在做通常应该有效的事情 DELETE FROM SQLITE SEQUENCE WHERE NAME myTable 我已经检
  • 从 C# 中的服务器下载后,Zip 文件被损坏

    request MakeConnection uri WebRequestMethods Ftp DownloadFile username password response FtpWebResponse request GetRespo
  • 具有 DOM 操作的自定义插件 CKEditor 4.x

    我正在为 CKEditor 4 7 开发一个自定义插件 它做了一个简单的思考 以防用户选择一些东西 它会将其放入具有特定类的 div 中 否则它将放入一个具有相同类的 div 其中包含文本 例如 在此处添加内容 我尝试根据 CKEditor
  • AVX 中的分散内在函数

    我在 Intel Intrinsic Guide v2 7 中找不到它们 您知道 AVX 或 AVX2 指令集是否支持它们吗 原始AVX指令集中没有分散或聚集指令 AVX2 添加了聚集指令 但没有添加分散指令 AVX512F 包括分散和聚集
  • Zend 调试器 Eclipse 启动错误:eclipse.php.debug.core 无法加载类 debug.core.model.PHPConditionalBreakpoint

    我在 Mac OSX Lion 上工作 自从安装了 Zend Debugger 并让它能够调试 php Web 应用程序后 我经常遇到这个 Eclipse 启动错误 扩展点创建扩展时出错 org eclipse php internal d
  • 交叉连接 2 个向量的元素以生成第三个向量

    我有 2 个向量 想要将一个向量分布到另一个向量上以形成第三个向量 例如 V1 a b c V2 d e f Result V3 ad ae af bd be bf cf nine total elements 我知道如何做到这一点的唯一方
  • 如何使用 .NET 2.0 捕获 using 块中的异常?

    这些天 当我有一个实现 IDisposable 的对象时 我尝试越来越多地利用 using 块 但我还没有弄清楚的一件事是如何像在正常的 try catch finally 中一样捕获异常 有任何代码示例可以为我指明正确的方向吗 编辑 阅读
  • 如何更改JavaFX中ListView的字体大小?

    我尝试了这个建议http forums sun com thread jspa threadID 5421037 http forums sun com thread jspa threadID 5421037但找不到风格 还有其他办法吗
  • 使用多次调用函数的 Angular @Input 绑定

    我在用着角8 我有一个子组件 Input 财产 必须在绑定之前修改此输入 因此使用方法返回用于绑定的数据 例如
  • 联系表 7 - 自定义验证

    我只需要验证一个字段 称为 实例 以仅接受小写 ASCII 字母和数字 第一个字符也必须是字母而不是数字 它会接受大写字符 但我们需要它在输入时将它们小写 因此 如果有人使用实例名称 McDonalds 它将小写为 mcdonalds 不仅
  • django 中的实时通知/聊天

    我现在正在用 django 制作一个网站 我想实现一个实时通知功能 就像 facebook 或 SE 上的那样 我做了一些研究 似乎虽然有两种选择 ajax 长轮询和 websockets 但后者是最佳选择 然而 正如你所知 websock
  • onEdit 简单触发器似乎永远不会被触发

    我一直在使用OnEdit一段时间以来 它一直工作得很好 但是现在我遇到了一个问题 基本上当编辑第 6 列 f 时 我希望它检查该值 如果它是 正在进行 我希望它然后运行一个函数发送电子邮件 当我调试它时 它完全按照我想要的方式工作 但是当我
  • 我的 Qt5 可执行文件无法在 Visual Studio 2010 之外运行

    我用 Qt5 和 Visual Studio 2010 完成了一个大项目 使用运行按钮 一切都在 Visual Studio 内部 但我的目标当然是在没有视觉工作室的情况下将其发布给其他人 我的问题是 我无法在 Visual Studio
  • Vue.js 中的 $t 是什么

    第一次与Vue js并且不知道是什么 t 例如我有一个人的代码是这样的 li class category filter back li
  • 如何使用 SVM 预测多类情感分析问题中的所有类?

    好吧 我正在制作一个情感分析分类器 我有三个类别 标签 积极 中性和消极 我的训练数据的形状是 14640 15 其中 negative 9178 neutral 3099 positive 2363 我对数据进行了预处理 使其标准化 并将
  • 如何使用swagger-codegen-maven-plugin生成spring cloud feign客户端

    我想使用 swagger codegen 生成我的假客户端代码 但我找不到可以引导我执行此操作的文档 我有一个使用 spring cloud 的微服务 几个使用 spring cloud feign 接口来请求数据的 api 服务 我希望我
  • “require(x)”和“import x”之间的区别

    我刚刚开始开发一个将与 MongoDB 交互的小型节点项目 但是 我似乎无法正确导入相关的节点模块 即使我已经通过以下方式正确安装了它们npm 例如 以下代码会抛出错误 告诉我 express 没有默认导出 import express f
  • java中如何将一个线程与另一个线程连接起来?

    我有一个主线程启动其他 10 个线程 我希望只有在所有其他线程停止后主线程才会完成 那么我应该在其他 10 个线程启动之前或启动之后调用 join 吗 例如 in the main method of Main thread Thread