#include<iostream>
#include<windows.h>
#include<stdio.h>
using namespace std;
HANDLE g_apple = 0;//女儿线程互斥:表示可否取苹果
HANDLE g_orange = 0;//儿子线程互斥:表示可否取桔子
HANDLE g_hMutex = 0; //父亲线程互斥:表示可否向盘中放水果
bool g_continue = true; //控制程序运行和结束
DWORD WINAPI Father(LPVOID); //父亲线程
DWORD WINAPI Son(LPVOID);//儿子线程
DWORD WINAPI Daughter(LPVOID);//女儿线程
int main()
{
//创建各个信号量
g_orange = CreateSemaphore(NULL, 0, 1, NULL);
g_apple = CreateSemaphore(NULL, 0, 1, NULL);
g_hMutex = CreateSemaphore(NULL, 1, 1, NULL);
DWORD threadID[3];
HANDLE hThreads[3];
//创建父亲线程
hThreads[0] = CreateThread(NULL, 0, Father, NULL, 0, &threadID[0]);
if (hThreads == NULL) return -1;
//创建儿子线程
hThreads[1] = CreateThread(NULL, 0, Son, NULL, 0, &threadID[1]);