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

相关推荐

不愿透露姓名的神秘牛友
今天 17:30
点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 15:19
简历上能写3个月吗?
码农索隆:大胆写,主要你能把实习经历包装好,可以看一下我这篇帖子https://www.nowcoder.com/share/jump/4888395581180798063
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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