Java 此代码中的哪个线程处于休眠状态?主线程还是t1线程?
通常主线程先启动,然后用户线程启动,但在下面的代码中,我无法确定主线程将休眠还是t1线程 MessageGenerator.java MainClass.java 请回复是一个静态方法,允许当前线程(即此方法正在从睡眠中调用的线程)在指定的毫秒数内运行 在您给出的示例中,主线程将休眠5秒,而不是t1所指的线程 该代码具有误导性,因为您正在对实例调用静态方法。是一个静态方法,允许当前线程(即此方法正在从睡眠中调用的线程)在指定的毫秒数内运行 在您给出的示例中,主线程将休眠5秒,而不是t1所指的线程Java 此代码中的哪个线程处于休眠状态?主线程还是t1线程?,java,multithreading,Java,Multithreading,通常主线程先启动,然后用户线程启动,但在下面的代码中,我无法确定主线程将休眠还是t1线程 MessageGenerator.java MainClass.java 请回复是一个静态方法,允许当前线程(即此方法正在从睡眠中调用的线程)在指定的毫秒数内运行 在您给出的示例中,主线程将休眠5秒,而不是t1所指的线程 该代码具有误导性,因为您正在对实例调用静态方法。是一个静态方法,允许当前线程(即此方法正在从睡眠中调用的线程)在指定的毫秒数内运行 在您给出的示例中,主线程将休眠5秒,而不是t1所指的线程
该代码具有误导性,因为您正在实例上调用静态方法。Sleep是Thread类的静态方法,应称为Thread.sleeplong毫秒
根据系统计时器和调度程序的精度和准确性,使当前正在执行的线程休眠并暂时停止执行指定的毫秒数。线程不会失去任何监视器的所有权。睡眠是线程类的静态方法,应称为thread.sleeplong毫秒
根据系统计时器和调度程序的精度和准确性,使当前正在执行的线程休眠并暂时停止执行指定的毫秒数。线程不会失去任何监视器的所有权。主线程将休眠..5000毫秒。
sleep是一个静态方法,它总是引用当前正在执行的线程。因此它调用主线程,使主线程睡眠。主线程将睡眠..5000毫秒。
sleep是一个静态方法,它总是引用当前正在执行的线程。因此它调用主线程,这样主线程就会休眠。t1甚至还没有启动,它怎么会休眠?t1甚至还没有启动,它怎么会休眠?只是想知道。。我们可以指示t1以某种方式从主线程睡眠吗?在MessageGenerator中创建一个包含thread.sleep的方法,或者只看下面的例子。。我们可以指示t1从主线程睡眠吗?在MessageGenerator中创建一个包含thread.sleep的方法,或者查看
public class MessageGenerator implements Runnable {
String msg;
public MessageGenerator(String msg) {
super();
this.msg = msg;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" Running");
System.out.println(msg);
}
}
public class MainClass {
public static void main(String[] args) throws InterruptedException {
Thread t1=new Thread(new MessageGenerator("Hello"));
t1.sleep(5000); //Confused here
t1.start();
Thread t2=new Thread(new MessageGenerator("Hi"));
t2.start();
System.out.println(Thread.currentThread().getName()+" Running");
}
}