c++ - 如何在用户在运行时输入任何内容时停止计时器

标签 c++ multithreading

例如:

cout<<"\n Time used (in seconds) :";
for(int i=0; i<100; i++)
{
       cout<< i;
       delay(1000);
       cout<<"\b"; 
}

我想修改程序段,以便在循环继续时,如果用户按任意键(在运行时),循环将停止。如果他不这样做,循环将正常继续,直到 i=100。

我意识到只有多线程才能做到这一点。 由于我是初学者,我希望您能告诉我如何在不使用类(class)的情况下进行操作。请给我一个带有注释的程序来解释语法和逻辑。

最佳答案

Windows 提供了大量有关线程的文档,请参阅以下有关如何在 C++ 中创建线程的教程: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682516%28v=vs.85%29.aspx

或者,您可以使用可以在大多数现代操作系统(包括 UNIX 和 Windows)上运行的 boost 库,这里有一个教程: http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html

您还应该研究一种更准确的计时方法,我在 StackOverflow 上发现了这个讨论计时的帖子: How to Calculate Execution Time of a Code Snippet in C++

关于c++ - 如何在用户在运行时输入任何内容时停止计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21237286/

相关文章:

c++ - 混合 Objective C ,(*.m , *.mm & .c/.cpp ) 文件

multithreading - GHC 的 thunk 有多原子?

multithreading - Delphi队列和同步

c# - 我可以创建一个可以修改用户界面并且可以中止的线程吗?

java - 使用 wait() 时的同步方法

c# - 每秒从不同线程更新 ListView

c++ - boost 构建中缺少头文件

python - 将 C++ 暴露给来自 BoostPython 的 Python 错误

c++ - C中char到int的转换?

c# - 在 C# 应用程序中只能使用 C++ DLL 中的 1/4 函数