子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环10 次(线程面试:windows下实现)
2012-10-27 15:15
232 查看
浏览MoreWindows的文章写出来的
/article/1358224.html
#include<stdio.h>
#include<process.h>
#include<windows.h>
unsignedint__stdcallFun(void*pPM);
constintTHREAD_NUM=1;
//循环次数
constintLOOP=6;
//两个互斥事件
HANDLEg_hThreadEvent1;
HANDLEg_hThreadEvent2;
intmain()
{
printf("\t子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,\n接着再回到主线程又循环100次,如此循环50次\n");
inti=0,j;
HANDLEhdl[THREAD_NUM];
g_hThreadEvent1=CreateEvent(NULL,FALSE,FALSE,NULL);
g_hThreadEvent2=CreateEvent(NULL,FALSE,TRUE,NULL);
hdl[0]=(HANDLE)_beginthreadex(NULL,0,Fun,NULL,0,NULL);
for(i=0;i<LOOP;i++)
{
WaitForSingleObject(g_hThreadEvent1,INFINITE);
for(j=0;j<4;j++)
{
printf("主要线程编号是,在循环第%d次\n",j+1);
}
SetEvent(g_hThreadEvent2);
Sleep(200);
}
CloseHandle(g_hThreadEvent2);
CloseHandle(g_hThreadEvent1);
for(i=0;i<THREAD_NUM;i++)
CloseHandle(hdl[i]);
return0;
}
unsignedint__stdcallFun(void*pPM)
{
intnum=0;
inti=0;
for(i=0;i<LOOP;i++)
{
WaitForSingleObject(g_hThreadEvent2,INFINITE);
for(num=0;num<2;num++)
{
printf("线程编号是%d,在循环第%d次\n",GetCurrentThreadId(),num+1);
}
SetEvent(g_hThreadEvent1);
}
return0;
}
第二题:我觉得有汇编基础的人应该能很快知道答案是50-100
一个全局变量tally,两个线程并发执行(代码段都是ThreadProc),问两个线程都结束后,tally取值范围。
inttally=0;//glable
voidThreadProc()
{
for(inti=1;i<=50;i++)
tally+=1;
}
相关文章推荐
- c++实现子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 子线程循环 10 次,接着主线程循环 100,接着又回到子线程循环 10 次, 接着再回到主线程又循环 100,如此循环 50 次
- (某培训机构的练习题)子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。
- 并发包实现:机试题-〉子线程循环10次,接着回到主线程循环100次,又接着回到子线程循环10次,再接着回到主线程又循环100次,如次循环50次,请写出程序
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次.
- 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次.....如此循环50次
- Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
- 【Java面试题】30 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
- 面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 多线程学习--案例-子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次。
- 子线程循环10次,接着主线程循环5次,接着又回到子线程循环10次,接着再回到主线程又循环5次,如此循环50次,请写出程序。
- 机试题-〉子线程循环10次,接着回到主线程循环100次,又接着回到子线程循环10次,再接着回到主线程又循环100次,如次循环50次,请写出程序
- 子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程100次,如此循环50次
- 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次,接着再回到主线程又循环6 次,如此循环50次,试写出代码。
- (13)多线程与并发库之java5阻塞队列(BlockingQueue)的应用----子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次