停止定时器在任何时间和开始定时器再次在c++
Stop Timer At Any Time and Start Timer Again in C++
我正在用c++做。例如,我想计算进程A的时间,重置计时器并再次启动计时器以计算进程b的时间。如何为第二个进程重置计时器并再次启动计时器?
使用ctime
库
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t time_1;
time_t time_2;
time ( &time_1 );
processA();
time ( &time_2 );
cout<<Time Taken by A: << time_2 - time_1<< seconds<<endl;
time ( &time_1 );
processB();
time ( &time_2 );
cout<<Time Taken by B: << time_2 - time_1<< seconds<<endl;
}
类似的问题在这里:-试图计算两个时间之间的差,won't减去。
编辑:有一个clock()函数,它是进程在执行过程中所采取的近似度量。而time()函数给出的是系统时间。所以根据你的需要,你可以使用其中一个。因为这两个函数将返回不同的值。当您需要确切的时间时使用time(),包括进程在等待资源队列中的时间,但如果您需要进程在执行中所花费的时间,则使用clock()。Clock()将更快(多个线程并行执行,这将加快时钟速度)或更慢(资源稀缺)。
时钟代码:
它的用法与time相同。每次调用时钟返回时钟值并重置时间
c_start = clock();
processA();
c_end = clock();
cout<<Time Taken by A: << c_end - c_start<< seconds<<endl;
c_start = clock();
processB();
c_end = clock();
cout<<Time Taken by B: << c_end - c_start<< seconds<<endl;
关于clock()的重要参考:http://en.cppreference.com/w/cpp/chrono/c/clock
时间单位:毫秒:
#include <chrono>
using namespace std::chrono;
milliseconds ms = duration_cast< milliseconds >(system_clock::now().time_since_epoch()
再次减去前面代码中的次数!
相关文章:
- Ardunio UNO解决了多个重叠的定时器循环
- 我们能否在stm32f中使用硬件定时器控制两个独立的进程
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 没有信号处理程序的POSIX定时器的目的是什么?
- 在定时器回调函数中使用 Sleep() 会导致C++出现问题吗?
- 如何在Qt中修改QWebsocket定时器
- C++Windows中的高分辨率定时器库
- 如何用单个信号处理程序解决这个多linux定时器的问题
- C#/.NET定时器和Win32睡眠函数都是不精确的
- Udp 在 QT 定时器信号中写入数据报
- AVR CTC模式下的16位定时器
- Linux C++定时器与软实时支持
- 在Qt中实现精确定时器
- 在不中断串行的情况下禁用Arduino上的定时器0中断
- 跨平台C++高精度事件定时器实现
- 非阻塞定时器C++
- 如何使用QTextStream读取行一次一个,使用定时器
- 使用C++在Linux中创建定时器队列
- 控制台C++中的多线程定时器和I/O
- 将 4 个 16 位定时器用于 400hz PWM