java run 方法_如果我们直接用Java调用run()方法会怎样?

直接调用Thread对象的run()方法不会启动单独的线程,而是可以在当前线程中执行。若要从单独的线程中执行Runnable.run,请执行以下任一操作使用Runnable对象构造一个线程,并在Thread上调用start()方法。

定义Thread对象的子类,并覆盖其run()方法的定义。然后构造该子类的实例,并直接在该实例上调用start()方法。

示例public class ThreadRunMethodTest {

public static void main(String args[]) {

MyThread runnable = new MyThread();

runnable.run(); // Call to run() method does not start a separate thread

System.out.println("Main Thread");

}

}

class MyThread extends Thread {

public void run() {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

System.out.println("子线程中断。");

}

System.out.println("Child Thread");

}

}

在上面的示例中,主线程ThreadRunMethodTest使用该方法调用子线程MyThreadrun()。这将导致子线程在执行主线程的其余部分之前运行完毕,以便在“主线程”之前打印“子线程”。

输出结果Child Thread

Main Thread

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值