![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
线程、同步 - Window
多线程,同步等
UncleDSs
这个作者很懒,什么都没留下…
展开
-
同步 - 概念
关于线程同步线程之间通信的两个基本问题是互斥和同步。线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的”资源”,而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程去使用,其它要使用该资源的线程必须等待,直到占用资源者释放该资源。线程互斥是一种特殊的线程同原创 2020-12-31 13:47:02 · 1174 阅读 · 0 评论 -
同步 - 临界区
//header.h#ifndef CRTC_SEC_H#define CRTC_SEC_H#include "windows.h"class RAII_CrtcSec{private: CRITICAL_SECTION crtc_sec;public: RAII_CrtcSec() { ::InitializeCriticalSection(&crtc_sec); } ~RAII_CrtcSec() { ::DeleteCriticalSection(&...原创 2020-12-31 11:43:51 · 149 阅读 · 0 评论 -
同步 - 事件
//main.cpp#include <windows.h>#include <iostream>DWORD WINAPI Fun_1(LPVOID p);DWORD WINAPI Fun_2(LPVOID p);HANDLE h_event;unsigned int counter = 0;int main(){ h_event = CreateEvent(nullptr, true, false, nullptr); SetEvent(h_.原创 2020-12-31 11:48:33 · 461 阅读 · 0 评论 -
同步 - 互斥量
//main.cpp#include <windows.h>#include <iostream>DWORD WINAPI Fun_1(LPVOID p);DWORD WINAPI Fun_2(LPVOID p);HANDLE h_mutex;unsigned int counter = 0;int main(){ h_mutex = CreateMutex(nullptr, false, nullptr); HANDLE h1 = Creat.原创 2020-12-31 13:43:30 · 97 阅读 · 0 评论 -
同步 - 信号量
#include "stdafx.h"#include<windows.h>#include<iostream>using namespace std; int number = 1; //定义全局变量HANDLE hSemaphore; //定义信号量句柄 unsigned long __stdcall ThreadProc1(void* lp){ long count; while (number < 100) { .原创 2020-12-31 14:40:25 · 572 阅读 · 1 评论 -
线程 - Window
#include "stdafx.h"#include <Windows.h>#include <iostream>using namespace std; DWORD WINAPI ThreadFuncFirst(LPVOID param){ int iCount = 50; while(iCount--){ cout<<"\nThreadFuncFirst:"<<iCount; } return 0;}DWORD WINA.原创 2020-12-31 14:46:09 · 60 阅读 · 0 评论