c++ 多线程 线程锁与信号量使用,std::mutex,std::list,CreateSemaphore,CreateThrea
main.cpp
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include <iostream>
#include <windows.h>
#include "dataanalyst.h"
DWORD WINAPI Thread_1(LPVOID param)
{
while (1) {
DWORD dwWait = WaitForSingleObject(hSM_1, INFINITE);
mutex1.lock();
char *p = list1.front();
list1.pop_front();
mutex1.unlock();
std::cout << "type 1 ,lenth: ";
std::cout << int(p[2]);
std::cout << "\n";
//todo
free(p);
}
}
DWORD WINAPI Thread_2(LPVOID param)
{
while (1) {
DWORD dwWait = WaitForSingleObject(hSM_2, INFINITE);
mutex2.lock();
char *p = list2.front();
list2.pop_front();
mutex2.unlock();
std::cout << "type 2 ,lenth: ";
std::cout << int(p[2]);
std::cout <