首页 > 代码库 > 简单的多线程并发同步演示
简单的多线程并发同步演示
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;
HANDLE hMutex;
DWORD WINAPI Fun(LPVOID lp){
while(1){
WaitForSingleObject(hMutex,INFINITE);
cout<<"fun"<<endl;//如果不用信号量同步,则endl输出会不稳定,或者改成“fun\n”
Sleep(1000);
ReleaseMutex(hMutex);
}
}
int main(){
HANDLE hThread=CreateThread(NULL,0,Fun,NULL,0,NULL);
hMutex=CreateMutex(NULL,FALSE,"screen");//false为非本线程独占
CloseHandle(hThread);
while (1)
{
WaitForSingleObject(hMutex,INFINITE);
cout<<"main"<<endl;
Sleep(1000);
ReleaseMutex(hMutex);
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。