java – 下面的代码运行成功,这是否意味着我们可以启动线程两次?

下面的代码运行成功,这是否意味着我们可以启动线程两次?

public class enu extends Thread {
    static int count = 0;

    public void run(){
        System.out.println("running count "+count++);
    }

    public static void main(String[] args) {
        enu obj = new enu();
        obj.run();
        obj.start();
    }
}

输出
运行计数0
跑数1

解决方法

不,当你调用obj.start()时,你只启动了一次新线程. obj.run()在当前线程中执行run方法.它不会创建新线程,您可以根据需要多次调用它.

另一方面,不可能多次调用obj.start().

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...