龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC++多线程下内存操作的优化(4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
int threadCount; int count; threadData actData; HANDLE* threadHandles; DWORD startTime; DWORD stopTime; DWORD retValue; unsigned dummy; /* check parameters */ if(argc4 || argc4) printUsage(argv); /* g
   int threadCount;

    int count;

    threadData actData;

    HANDLE* threadHandles;

    DWORD startTime;

    DWORD stopTime;

    DWORD retValue;

    unsigned dummy;

    /* check parameters */

    if(argc<4 || argc>4)

        printUsage(argv);

    /* get parameters for this run */

    threadCount=atoi(argv[1]);

    if(threadCount>64)

        threadCount=64;

    actData.maximumLength=atoi(argv[2])-1;

    actData.allocCount=atoi(argv[3]);

    threadHandles=(HANDLE*)malloc(threadCount*sizeof(HANDLE));

    printf("Test run with %d simultaneous threads: ",threadCount);

    startTime=GetTickCount();

    for(count=0;count<threadCount;count++)

    {

        threadHandles[count]=(HANDLE)_beginthreadex(0,0,

            &workerThread, (void*)&actData,0,&dummy);

        if(threadHandles[count]==(HANDLE)-1)

        {

            fprintf(stderr,"Error starting worker threads. ");

            exit(2);

        }

精彩图集

赞助商链接