windows xp中执行如下代码,执行结果为:672毫秒左右
我的是windows xp,release版,优化为最快速度
#include <windows.h>
#include <stdio.h>
DWORD WINAPI ThreadFunc( LPVOID param )
{
return 0;
}
int main()
{
HANDLE hThread;
int i;
DWORD dwBegin, dwEnd;
dwBegin = GetTickCount();
for ( i = 0; i < 10000; ++i ) {
hThread = CreateThread( NULL, 0, ThreadFunc, NULL, 0, NULL );
WaitForSingleObject( hThread, INFINITE );
CloseHandle( hThread );
}
dwEnd = GetTickCount();
printf( "time=%d/n", dwEnd - dwBegin );
return 0;
}
Linux(2.6内核,NPTL线程,我的是FC6)中执行以下代码,执行结果为:275毫秒左右
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
void* ThreadFunc( void *param )
{
return NULL;
}
int main()
{
int i;
struct timeval tv1, tv2;
pthread_t tid;
gettimeofday( &tv1, NULL );
for ( i = 0; i < 10000; i++ ) {
pthread_create( &tid, NULL, ThreadFunc, NULL );
pthread_join( tid, NULL );
}
gettimeofday( &tv2, NULL );
printf( "time=%d/n", (tv2.tv_sec-tv1.tv_sec)*1000 + tv2.tv_usec/1000-tv1.tv_usec/1000 );
return 0;
}
windows和linux下的线程比较
最新推荐文章于 2023-02-25 00:35:37 发布