c语言计算线程运行时间代码 linux
时间: 2024-01-18 11:04:41 浏览: 121
以下是一个简单的C语言程序,用于计算线程的运行时间:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <sys/time.h>
void *thread_func(void *arg) {
int i;
double x = 0.0;
for (i = 0; i < 100000000; i++) {
x += i;
}
return NULL;
}
int main() {
pthread_t thread;
struct timeval start, end;
double delta;
gettimeofday(&start, NULL);
pthread_create(&thread, NULL, thread_func, NULL);
pthread_join(thread, NULL);
gettimeofday(&end, NULL);
delta = (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec) / 1000000.0;
printf("Thread took %f seconds to complete\n", delta);
return 0;
}
该程序创建了一个线程,该线程将执行一个简单的计算任务。主线程使用gettimeofday函数来获取开始和结束时间,并计算线程的运行时间。最后,程序输出线程的运行时间。请注意,此程序仅用于演示目的,实际应用程序可能需要更复杂的计时方法。
阅读全文