- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下问题。正如您在代码中看到的那样(在main()内部),我将子线程的名称设置为“Child1”和“Child2”。因此,当这两个子线程正在运行run()方法时,我尝试打印其名称。但是,正如您从输出中看到的,“Child2”线程的名称未得到打印。
请告诉我为什么会这样。代码有什么问题吗?
package threads_concurrency;
class MyRunnable2 implements Runnable
{
public void run()
{
for(int i=1;i<21;i++)
System.out.println("Child Thread "+Thread.currentThread().getName());
try
{
Thread.sleep(1000);
}
catch(InterruptedException ie)
{
System.out.println("child thread got interrupted");
}
}
}
public class NameIdPriorityValuesOfThread
{
public static void main(String[] args)
{
Thread main=Thread.currentThread();
System.out.println("id of main thread = "+main.getId());
System.out.println("name of main thread = "+main.getName());
System.out.println("priority of main thread = "+main.getPriority());
System.out.println("==================================");
//Code to create thread1
MyRunnable2 mr1=new MyRunnable2();
Thread t1=new Thread(mr1);
System.out.println("default id of t1 is :"+t1.getId());
System.out.println("default name of t1 is :"+t1.getName());
System.out.println("default priority of t1 is :"+t1.getPriority());
t1.setName("Child1"); t1.setPriority(9);
System.out.println("==================================");
//Code to create thread2
MyRunnable mr2=new MyRunnable();
Thread t2=new Thread(mr2);
System.out.println("default id of t2 = "+t2.getId());
System.out.println("default name of t2 = "+t2.getName());
System.out.println("default priority of t2 = "+t2.getPriority());
t2.setName("Child2"); t2.setPriority(9);
System.out.println("==================================");
t1.start();
t2.start();
for(int i=1;i<21;i++)
System.out.println("main thread");
}
}
*************OUTPUT*****************
id of main thread = 1
name of main thread = main
priority of main thread = 5
==================================
default id of t1 is :8
default name of t1 is :Thread-0
default priority of t1 is :5
==================================
default id of t2 = 9
default name of t2 = Thread-1
default priority of t2 = 5
==================================
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
Child Thread
main thread
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
Child Thread Child1
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
main thread
最佳答案
对于线程2,您使用的是MyRunnable
类,而不是MyRunnable2
MyRunnable mr2=new MyRunnable();
MyRunnable2
,它应该可以工作。
关于java - 子线程名称未在run()中打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38074298/
我已经通过 AVD 管理器启动了我的模拟器,一旦它运行,我点击了 run app。我已经等了几分钟,我的正在运行的设备出现在 选择一个正在运行的设备 中,但窗口始终保持空白。 最佳答案 您正在运行的项
我想在安装新数据库之前删除旧数据库,以便为用户更新它。 我有以下情况: 在我的 Components 部分中,我为用户提供了一个选项: [Components] Name: "updateDataba
如果我将一个 Python 模块实现为一个目录(即包),它同时具有顶级函数 run 和子模块 run,我可以指望 from example import run 总是导入函数?根据我的测试,至少在 L
我在 Eclipse Juno 上使用 Tomcat 7。我使用工作区元数据作为服务器位置(请参阅下面的我的 tomcat 配置)。 我也收到了 服务器项目在 eclipse [请看下图] 中使用单独
我正在做一些测试以了解 java 中的不同线程状态,并且遇到了一些查询。 通常,当一个线程被实例化时,它被称为处于 "NEW" 状态,然后当调用它的 start() 方法时,操作系统调度程序获得控制权
当我使用命令 npm run build -- --prod 时,我收到以下错误消息: 属性“PropertyName1”是私有(private)属性,只能在“AppComponent”类中访问 “A
我正在尝试将默认的“运行”键盘快捷键更改为 ⌘R。 - 因为我不想每次都伸手去拿触控板,而且我的手指不够长,无法一次执行⌥⇧F10。 “运行”和“运行...”有什么区别? 最佳答案 ... 用于菜单中
我现在不知道如何编写一个合适的方法来测试这种行为。请不要投反对票.. 我现在有一个 java 类负责处理数据并将数据添加到多个数据库。每个数据库都保存相同的数据,但处理方式不同(例如,以不同的插值率进
我知道不应该调用 run 方法来启动新线程执行,但我指的是 this article他们在另一个 run 方法中调用了 runnable.run(); ,这似乎暗示它启动了一个新线程或者根本没有cre
当我尝试在Windows 10/11下使用Eclipse 2023-06调试任何应用程序(甚至是hello.c)时,我总是收到以下错误:。该错误清楚地指示-(错误2)-路径是错误的。。我试图在互联网上
在运行vue文件时,需要进行npm操作,但我们发现,有时候用的是npm run serve,而有的时候用的是npm run dev,二者有什么区别 在我们运行一些 vue 项目的时候,输入npm ru
我想在 cloud run 上运行一个长时间运行的作业。该任务可能执行超过 30 分钟,并且主要发送 API 请求。cloud run 在大约 20 分钟后停止执行,从指标来看,它似乎没有识别出我的任
我们无法让 SSE 从 Google Cloud Run 上的容器发送。我已经尝试使用一个简单的 SSE 示例( https://github.com/kljensen/node-sse-exampl
直到最近,我一直在执行这个美丽来构建 + 运行一个带有堆栈的项目: stack build && .stack-work/install/x86_64-linux/lts-4.1/7.10.3/bin
我们有一个小脚本,可以抓取网页(约 17 个条目),并将它们写入 Firestore 集合。为此,我们在 Google Cloud Run 上部署了一项服务。 这段代码的执行需要大约 5 秒 when
我是Docker的新手,我知道一种运行交互式容器的方法如下: $ docker run -it image-name bash 要么 $ docker run -it image-name /bin/
Dockerfile 中的多个 RUN 条目之间有什么区别,例如: FROM php:5.6-apache RUN docker-php-ext-install mysqli RUN apt upda
对于来自文档的云运行内存使用情况 ( https://cloud.google.com/run/docs/configuring/memory-limits ) Cloud Run applicati
今天早上我更新了我的 Ubuntu 版本,现在我无法从 eclipse 运行我的应用程序。 问题是,当我单击“运行方式”时出现的列表是空的,我无法运行任何内容。 我该如何解决这个问题? 我能看到的唯一
我正在 intelliJ 上使用 livereload 测试 spring-boot-devtools。我有一个简单的 SpringBootApplication,可以正常工作。 当我从 maven
我是一名优秀的程序员,十分优秀!