美文网首页
互斥锁练习(2018-09-18)

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

作者: 小世界_5193 | 来源:发表于2018-09-18 14:50 被阅读0次

要求: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;

}

相关文章

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

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

  • 线程同步与互斥

    Linux--线程编程 多线程编程-互斥锁 线程同步与互斥 互斥锁 信号量 条件变量 互斥锁 互斥锁的基本使用...

  • Golang 锁的相关知识

    Golang锁分类:互斥锁(Mutex)、读写锁(RWMutex)。 互斥锁 在编写代码中引入了对象互斥锁的概念,...

  • iOS底层探索-多线程锁

    多线程的锁大致可分为两大类:互斥锁、自旋锁;也可以分为三类:互斥锁、自旋锁、读写锁。 一、互斥锁:互斥+同步(强调...

  • go-锁机制

    Golang中的锁机制主要包含互斥锁和读写锁 互斥锁 互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只...

  • 线程锁

    1.常见的锁包括:互斥锁,自旋锁。 2.互斥锁是指锁的类型,自旋锁是指锁的实现方式。 3.互斥锁:当上...

  • 算法:读写者问题

    锁解析 : RWMutex : 读-写互斥锁 WWMutex : 写-写互斥锁 WPriorityMutex =...

  • 可重入读写锁 ReentrantReadWriteLock

    读写锁分为读锁和写锁,多个线程获取读锁不互斥,读写锁、写写锁互斥。 输出

  • C++锁

    锁的种类 互斥锁、条件锁、自旋锁、读写锁、递归锁。 互斥锁 头文件: 类型:pthread_mutex_t, 函数...

  • CopyOnWrite思想

    读写锁的弊端 读写锁的思想是读读不互斥,读写互斥,写写互斥最大的问题,其实就在于写锁和读锁的互斥。假设写操作频率很...

网友评论

      本文标题:互斥锁练习(2018-09-18)

      本文链接:https://www.haomeiwen.com/subject/zxzunftx.html