gpt4 book ai didi

java - 在Java中总是至少有一个线程;这在 C++ 中是真的吗?

转载 作者:行者123 更新时间:2023-12-02 02:33:35 27 4
gpt4 key购买 nike

在 Java 中,始终至少有一个执行线程(main())在运行。当一个C++程序在操作系统上执行时,它是否构成了那个最小线程?

我问这个问题是因为在Java中Thread.current_thread.sleep(x)有意义,但是std::this_thread::sleep_for(std::chrono::milliseconds{x}) 很奇怪,除非有一个线程正在运行。

如果我的程序根本没有 std::thread,那么总是至少有一个吗?另外,如果我的 c++11 程序中没有运行线程,则可以使用 std::this_thread::sleep_for(std::chrono::milliseconds{x}) 暗示已经回答我的问题了吗?

最佳答案

是的,在 C++ 中总是至少有一个线程在运行。一开始,只有一个线程进行初始化并最终开始执行 main。

根据程序的外观,主线程可以启动其他线程。当main函数结束时,程序就会退出。这与 Java 不同,Java 中 JVM 会一直运行,直到所有守护线程停止为止。

std::this_thread始终被定义,其函数引用当前正在执行代码的线程。

关于java - 在Java中总是至少有一个线程;这在 C++ 中是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46735373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com