c语言线程同步打印两个线程

一个线程打印出‘A’,另一个打印出‘B’,进行5次循环,如何得出ABABABABAB,怎么写代码啊
全部评论
#include <iostream> #include <windows.h> #include <stdio.h> using namespace std; HANDLE gEvent; DWORD WINAPI FuncA(LPVOID lpParameter) {     for(int i = 0;i<5;i++)     {         WaitForSingleObject(gEvent,INFINITE);         cout << "A";         Sleep(20);         SetEvent(gEvent);     }     return 0; } DWORD WINAPI FuncB(LPVOID lpParameter) {     for(int i = 0;i<5;i++)     {         WaitForSingleObject(gEvent,INFINITE);         cout << "B";         Sleep(20);         SetEvent(gEvent);     }     return 0; } int main() {     gEvent =CreateEvent(NULL,false,true,NULL); //,无信号 手动置位,未激发状态     HANDLE hThread1 =CreateThread(NULL,0,FuncA,NULL,CREATE_SUSPENDED,NULL);     ResumeThread(hThread1);     HANDLE hThread2 =CreateThread(NULL,0,FuncB,NULL,CREATE_SUSPENDED,NULL);     Sleep(0);  // 让线程1先执行     ResumeThread(hThread2);     Sleep(2000);     return 0; } 这个试试吧,我在本地跑了10次能打印ABABAB....,但是如果是打印ABCABCABC我不知道该怎么改了
点赞 回复 分享
发布于 2015-09-24 19:48
条件变量加互斥量
点赞 回复 分享
发布于 2015-09-21 14:50

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
你找工作的时候用AI吗?
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务