线程、同步 - Window
多线程,同步等
UncleDSs
这个作者很懒,什么都没留下…
展开
-
同步 - 概念
关于线程同步 线程之间通信的两个基本问题是互斥和同步。 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的”资源”,而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多只允许一个线程去使用,其它要使用该资源的线程必须等待,直到占用资源者释放该资源。 线程互斥是一种特殊的线程同原创 2020-12-31 13:47:02 · 1201 阅读 · 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 · 166 阅读 · 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 · 493 阅读 · 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 · 114 阅读 · 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 · 591 阅读 · 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 · 77 阅读 · 0 评论