问题是不允许使用clock()函数,但我不知道如何在线程中处理time()函数。
答案 0 :(得分:1)
由于您标记了帖子C ++ 11,请查看chrono库:
#include <chrono>
std::chrono::time_point<std::chrono::system_clock> start, end;
start = std::chrono::system_clock::now();
... // <-- Code that you want to time
end = std::chrono::system_clock::now();
std::cout << "Time : " << std::chrono::duration<double>(end - start).count();
答案 1 :(得分:0)
我认为您可以使用gettimeofday()函数来获取开始时间和结束时间。虽然此功能仅适用于Linux。请参阅[1]:http://linux.die.net/man/2/gettimeofday
对于Windows中的此功能,请参阅[2]:Equivalent of gettimeday() for Windows
答案 2 :(得分:0)
假设有Linux系统,请阅读time(7),然后使用clock_gettime(2),可能使用CLOCK_REALTIME
&amp; CLOCK_THREAD_CPUTIME_ID
;另见pthread_getcpuclockid(3)&amp; getrusage(2)
MAX_THREADS
太大了。你最多应该有十几个或两个线程......