互斥锁练习(2018-09-18)

要求:A线程和B线程同时工作,A、B线程打印一串字符串休息5秒后再次打印该字符串,在A线程打印的过程中,B线程不能打断A线程的打印信息

#include <stdio.h>

#include <stdlib.h>

#include <Windows.h>

HANDLE hMutex ;

DWORD WINAPI thread_A(LPVOID lpParam)

{

WaitForSingleObject(hMutex,INFINITE);

for(int i=0;i<2;i++)

{

printf("AAAAA\n");

Sleep(800);

}

ReleaseMutex(hMutex);

return 0;

}

DWORD WINAPI thread_B(LPVOID lpParam)

{

WaitForSingleObject(hMutex,INFINITE);

for(int i=0;i<2;i++)

{

printf("BBBBB\n");

Sleep(800);

}

ReleaseMutex(hMutex);

return 0;

}

int main()

{

hMutex = CreateMutex(NULL,false,NULL);

HANDLE buf[2];

buf[0] = CreateThread(NULL,0,thread_A,NULL,0,NULL);

buf[1] = CreateThread(NULL,0,thread_B,NULL,0,NULL);

WaitForMultipleObjects(2,buf,TRUE,INFINITE);

CloseHandle(hMutex);

system("pause");

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • #include #include<conio.h> //控制台数据输入输出的函数 #include<fstrea...
    黑键_阅读 1,237评论 0 1
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,645评论 8 265
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 若有初学者,看过此贴,可会画山石,知画理。我只举一例,用短披麻皴,虽皴法有多种,不外此理,须举一反三。今后将不赘述...
    半樵阅读 16,254评论 17 33
  • 回想本周比较深刻的情绪事件,是这样的:时间:本周四早晨8:36地点:家中人物:我、女儿、老公事情经过:在纠结女儿小...
    a01ddb386871阅读 484评论 0 1