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

标签 java multithreading thread-exceptions

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

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 - 下面的代码运行成功,那么是否意味着我们可以启动线程两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875037/

相关文章:

java - 当我添加使用 MediaPlayer 类运行音频的方法时,为什么应用程序崩溃?

c# - 主线程完成后子线程不工作

c# - 异步执行一组任务时,它不应该与运行时间最长的任务一样长吗?

c++ - 如何等待此线程池中的所有任务完成?

multithreading - 如何使用安全异常库捕获异步异常?

java - 在 SharedPreferences 上,将变量类型从 Boolean 更改为 Integer

java - "application blocked by security settings"阻止在 Linux mint 上的 firefox 上使用 oracle SE 7 update 51 运行小程序

java - 使用 JSoup 选择一组标签

python - 'thread._local' 对象没有属性

java - optorsim 抛出 ConcurrentModificationException