Java——创建一个新线程

2023-12-08

我是线程新手。我想创建一些与主线程分开工作的简单函数。但这似乎不起作用。我只想创建新线程并独立于主线程上发生的事情在那里做一些事情。这段代码可能看起来很奇怪,但到目前为止我对线程还没有太多经验。你能解释一下这有什么问题吗?

  public static void main(String args[]){
      test z=new test();

      z.setBackground(Color.white);

      frame=new JFrame();
      frame.setSize(500,500);
      frame.add(z);
      frame.addKeyListener(z);
      frame.setVisible(true);

      one=new Thread(){
          public void run() {
              one.start();
              try{
                  System.out.println("Does it work?");
                  Thread.sleep(1000);
                  System.out.println("Nope, it doesnt...again.");
              } catch(InterruptedException v){System.out.println(v);}
          }
      };
  }

您正在呼叫one.start()方法中的run你的线程的方法。但是run仅当线程已经启动时才会调用该方法。改为这样做:

one = new Thread() {
    public void run() {
        try {
            System.out.println("Does it work?");

            Thread.sleep(1000);

            System.out.println("Nope, it doesnt...again.");
        } catch(InterruptedException v) {
            System.out.println(v);
        }
    }  
};

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

Java——创建一个新线程 的相关文章

随机推荐

  • 混淆批处理+HTA混合脚本

    以下是混合批处理脚本
  • Safari 推送通知证书问题

    我有一个网站 它使用 Safari 浏览器的推送通知 它工作得很好 直到最近我开始收到一条消息说 推送包签名验证失败 我相信这与最近的 Apple WWDRCA 证书到期有关 现在正在尝试将新证书安装到系统中 他们的文档说 如果您使用 op
  • netezza nzload 与 isnumeric 类似的功能吗?

    我有来自一个平面文件的数据 我正在通过该文件加载到 netezza 中nzload 某些字段类型是数字 但是接收到的数据有时可能包含无效字符 我如何检查以确保数据isnumeric在我的进口中 I saw try cast对于 T Sql
  • 当我从 pandas DataFrame 中采样一行后,如何获取一个单元格的值?

    我有一个pandas我已经成功地从 DataFrame 中采样了一行 但问题之一是它只是返回另一个 DataFrame 我需要读取返回的行并获取该行的特定元素的值 My DataFrame好像 Date Open High Low Clos
  • 如何在Amazon ec2上运行seed.rb文件

    最近 我使用 Amazon EC2 托管了 Ruby on Rails 应用程序弹性豆茎 除了我的 seeds rb 文件之外 一切正常 我的 seeds rb 文件在托管时未执行 我在用活动管理员我还在 seeds rb 文件中定义了第一
  • 有没有办法强制执行模块间依赖/初始化顺序?

    使用Azure IoT Edge 我还没有找到任何方法来保证部署中容器 模块的初始化顺序 举例来说 假设我有 2 个模块 A 和 B A 是服务器 B 是依赖于 A 的客户端 据我所知 无法保证 A 在 B 之前启动 Azure IoT E
  • Raspbian QML 性能不佳

    相同的 QML 程序在 Freescale Yocto 和 Raspberry Raspbian 上运行 这两个测试设备具有几乎相同的 CPUarmv7 但Raspbain这边的表现却非常糟糕 并发出此警告 JIT is disabled
  • 使用 sed 从文件中删除 ^M 字符

    我在文件中有这一行 ULNET PA client sgcib broker keplersecurities KEPLER 我尝试去掉 M 回车 字符 所以我使用了 sed s M g 然而 这确实删除了 M 之后的所有内容 root l
  • spring-boot 2.3.6,如何设置mongo的UUID表示?

    我正在尝试升级到 spring boot 2 3 6 我正在使用 spring data MongoRepositories 没有直接调用 MongoClient 或 MongoClient 获取异常 Caused by org bson
  • Scala 类型推断和多个参数列表

    斯卡拉 2 11 8 考虑以下代码 trait Class A def f1 B gt A arg1 Int ord Ordering B Int def f2 B gt A arg1 Int ord Ordering B Int def
  • add()、replace() 和 addToBackStack() 之间的区别

    调用这些方法的主要区别是什么 fragmentTransaction addToBackStack name fragmentTransaction replace containerViewId fragment tag fragment
  • 如何使用 AnkhSVN 2.x 更改存储库 url

    我正在 VS 2008 上使用 Ankh v2 0 5250 202 连接到我的 Subersion 服务器 VisualSVN 服务器 1 6 3 我的存储库的当前网址是https svnserver 8443 svn foo foo t
  • 错误:“std::cout”中的“operator<<”不匹配

    我意识到此错误通常是由于某些语法或类型问题造成的 但我不确定如何解决此问题 我认为这可能与 findRt 的类型有关 vector
  • 如何用 C++ 从文件中读取单词?

    所以我觉得很无聊 决定制作一款刽子手游戏 我在高中第一次学习 C 时就做过这样的作业 但这是在我接触几何之前 所以不幸的是我在任何方面都没有做得很好 学期结束后我一怒之下把所有东西都扔掉了 我想要制作一个txt文档 然后输入一大堆单词 IE
  • Java 关闭挂钩

    使用 IntelliJ IDE java 1 8 IDE 中的 lang level 6 以及命令提示符下的默认值 从命令行 Windows 7 编译并运行 javac cp Main java java cp Main 给出以下代码 我想
  • 在 Fine Uploader 中,如何编辑/更新先前会话中上传的文件的 S3 文件元数据?

    我有一个要求 用户需要编辑 更新在之前的会话中上传的 s3 文件元数据 我已经实现了初始文件列表 但我需要使文件元数据 文件名 标题 在我的情况下是新字段 在显示列表中可编辑 能实现吗 I see 编辑文件功能 但这仅限于文件上传之前 看来
  • 使用绑定和 AJAX 下拉

    我是 ColdFusion 的新手 刚刚开始学习 Ajax 我的问题是 我在网上发现了一些很酷的编码来实现两个下拉菜单 其中第二个菜单取决于第一个菜单中选择的内容 但目标是从选择查询中提取下拉列表中的所有值 我正在使用我刚刚了解到的绑定功能
  • 在python3中输出十六进制值

    我正在使用 python3 编写 shellcode 漏洞 但是 当我尝试输出一些十六进制字节时 例如使用线路 python3 c print x8c xxd 中的值xxd is c28c 而不是预期的8c python2中不会出现这个问题
  • 为什么在添加元素以设置映射多对多时,休眠会从连接表中删除行?

    假设我有两个课程 class A Set b bs class B 这个映射 b
  • Java——创建一个新线程

    我是线程新手 我想创建一些与主线程分开工作的简单函数 但这似乎不起作用 我只想创建新线程并独立于主线程上发生的事情在那里做一些事情 这段代码可能看起来很奇怪 但到目前为止我对线程还没有太多经验 你能解释一下这有什么问题吗 public st