Java 线程是如何工作的

2024-03-25

我是一名Java学习者,试图理解线程。

我期望下面的程序按顺序输出

线程已启动 运行方法 再见

但我按顺序得到输出

再见,线程已启动 Run 方法

这是我的代码:

public class RunnableThread
{
    public static void main(String[] args)
    {
        MyThread t1= new MyThread("Thread started");
        Thread firstThread= new Thread(t1);
        firstThread.start();
        System.out.println("Bye");
    }
}

class MyThread implements Runnable
{
    Thread t;
    String s= null;

    MyThread(String str)
    { 
      s=str;
    }

    public void run()
    {
      System.out.println(s);
      System.out.println("Run Method");
    }
}

在多线程代码中,无法保证哪个线程将以什么顺序运行。这是多线程的核心,并且不限于 Java。您可能会收到一次订单 t1、t2、t3,另一次收到订单 t3、t1、t2,依此类推。

在你的情况下有2个线程。一个是主线程,另一个是firstThread。尚未确定哪个将首先执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 线程是如何工作的 的相关文章

  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • 通往楼梯顶部的可能路径

    这是一个非常经典的问题 我听说谷歌在他们的面试中使用过这个问题 问题 制定一个递归方法 打印从楼梯底部到楼梯顶部的所有可能的独特路径 有 n 个楼梯 您一次只能走 1 步或 2 步 示例输出 如果它是一个有 3 级楼梯的楼梯 1 1 1 2
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • Java实现累加器类,提供Collector

    A Collector具有三种通用类型 public interface Collector
  • 使用架构注册表对 avro 消息进行 Spring 云合约测试

    我正在查看 spring 文档和 spring github 我可以看到一些非常基本的内容examples https github com spring cloud samples spring cloud contract sample
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • 在java中使用多个bufferedImage

    我正在 java 小程序中制作游戏 并且正在尝试优化我的代码以减少闪烁 我已经实现了双缓冲 因此我尝试使用另一个 BufferedImage 来存储不改变的游戏背景元素的图片 这是我的代码的相关部分 public class QuizApp

随机推荐

  • 如何从 umbraco CMS 导出数据?

    我有一个使用 umbraco cms 的项目 即 MSSQL 现在我们正在 WordPress 中重建网站 我无法理解其中的关系 在乌布拉科这很困难 所以我想直接从 Umbraco CMS 下载 导出内容 但在 cms 中我找不到任何导出批
  • 在 Xamarin UWP 中创建包后,视频仅通过语音播放,我看不到视频

    我正在使用最新版本的 MediaManager 插件来播放视频 当我在调试模式下运行应用程序时 一切正常 但是当我为窗口创建包时 视频不显示 只听到声音 我正在使用下面的包 插件 MediaManager Forms 这是我的 XAML 页
  • 在 ruby​​ 中定义全局方法的方法

    我正在写一个小 gem 我想定义一个类似 DSL 的方法 与desc and task中的方法Rake Rake 将它们定义为私有方法Rake DSL模块然后 self extend Rake DSL 将模块混合到主对象中 我是新手 如有错
  • 如何在 iOS 中访问 JPEG COM 段?

    JPEG 有很多标记段级别 我想读取和写入注释标记段级别 COM 读 写 它需要低级编程 我如何在 iOS 中访问它 参考 http help accusoft com ImageGear v18 1 Mac IGDLL 10 05 htm
  • 在 Adob​​e Flex 中将数据写入文本文件

    我是 Adob e Flex 新手 我想将存储在字符串变量中的一些数据写入文本 txt 文件中 有人可以在这里添加示例代码对我有帮助吗 谢谢 如果您的目标是 Flash 10 则可以写入文件 阅读本文以了解如何执行此操作 http www
  • 我怎样才能同时捕获 2 个以上的按键?

    最近我对创建 JS 游戏产生了兴趣 不是我有经验但我感兴趣的领域 我知道有几个 JS 游戏引擎 但我并不是真的想创建一个游戏 相反 我很好奇事物是如何工作的 我如何创建一个 我有几个问题 有人建议我在哪里可以阅读它吗 先决条件 需要什么知识
  • 从数据库 php 和 mysql 检索图像的损坏文件图标

    我需要从数据库上传和检索图像 我可以将图像存储在数据库中 但稍后无法显示 请帮忙 我编写了以下代码来从数据库中检索 result1 mysql query INSERT INTO userdata id username firstname
  • 从 SQL 存储过程导出文本文件

    我当前有一个进程存在于 2 个导出文本文件的 MS Access 数据库中 此过程在一天中发生两次 一次是在设定时间触发的自动化过程中 第二次是由应用程序前端的用户触发 这在两个数据库中都是相同的 现在我们正在将此应用程序重写为 SQL S
  • 基于代理/参与者的并发设计的设计模式[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近 我一直在研究支持参与者 代理 无共享架构的替代语言 即 scala clojure 等 clojure 也支持共享状态 到目前为止 我读过
  • 为什么 **find** 没有找到任何东西?

    我正在寻找安装在我的系统上的 shell 脚本文件 但是find不起作用 find usr name sh 但我知道那里有大量的脚本 例如 ls usr local lib sh usr local lib tclConfig sh usr
  • 为什么我在 Next.js 中得到这个? 具有无效的 `imagesrcset` 值

    我的轮播中有图像
  • 二叉搜索树过滤某个范围内的值

    我有一棵由 N 个元素组成的树 RBT 假设我有这棵树 N 7 4 2 6 1 3 5 7 如何以比 O N 更好的性能过滤某个范围内的值 例如打印 3 到 6 之间的所有值 有具体的算法吗 我想象它类似于找到值 3 log N 的位置 以
  • 使关闭按钮隐藏而不是关闭[重复]

    这个问题在这里已经有答案了 如何使表单上的关闭按钮有效地充当 隐藏 按钮 有没有办法中止FormClosing event 你可以只捕获FormClosing事件并停止默认操作 然后不关闭表单而只是隐藏它 private void Form
  • NetBeans 12 不再管理库

    一周前 我将 Java IDE 升级到 Netbeans 12 和 JDK 14 直到昨天我才注意到窗口 项目属性 MYPROG 缺乏基本功能 即没有用于编译的行 jar 并且大多数情况下没有任何行可以添加 jar库 而是有一个空行Java
  • 如何在 xamarin android 应用程序中使用动画?

    我想使用 Xamarin C 在我的 Android 应用程序中使用动画 动画 如淡入 放大 移动等等 首先在 resources 文件夹下添加一个文件夹 将其命名为 anim 然后你可以向其中添加你的动画资源 例如 对于淡入动画 在 an
  • 检查 JQuery 移动复选框是否被选中

    我有一个复选框列表 我想获取每个复选框的状态 名单在这里 div fieldset fieldset div
  • 有没有办法在 Zend Framework 1.5 中执行“INSERT...ON DUPLICATE KEY UPDATE”?

    我想用ON DUPLICATE KEY UPDATE在 Zend Framework 1 5 中 这可能吗 Example INSERT INTO sometable VALUES ON DUPLICATE KEY UPDATE 我在 Ze
  • 实施委托

    我想我正在关注代表团的运作方式 这是我遵循的教程 http www iphonedevsdk com forum iphone sdk tutorials 81489 how why implement delegation pattern
  • 在导入 Google 电子表格之前过滤 CVS

    我在 Google 电子表格中有一个脚本 该脚本从 URL 下载压缩的 CSV 然后将其导入电子表格 实际上 CVS 太大了 我不需要其中的所有数据 我的问题是 如何在将数据导入电子表格之前过滤数据 例如 使用 X 值过滤 A 列 这是我到
  • Java 线程是如何工作的

    我是一名Java学习者 试图理解线程 我期望下面的程序按顺序输出 线程已启动 运行方法 再见 但我按顺序得到输出 再见 线程已启动 Run 方法 这是我的代码 public class RunnableThread public stati