www.pudn.com > zxjjc.rar > eatingStruct.h


//eatingStruct.h  
//this file including the mutexs and some other important shared varaible 
//written in 2004/6/2 23:50 
 
 
#ifndef EATING_STRUCT_H 
#define EATING_STRUCT_H 
 
#define THINKER_NUM 5 
 
typedef struct 
{ 
	HANDLE tropics[THINKER_NUM]; 
	HANDLE ThreadExit; 
	HWND   m_view; 
	int    thinkerStatus[THINKER_NUM]; 
	int    tropicStatus[THINKER_NUM]; 
	int    ThinkerCnt; 
	int     m_speed; 
	CRect   userect[THINKER_NUM]; 
	CRect   Idlerect[THINKER_NUM]; 
	CRect   thinkerRect[THINKER_NUM]; 
	 
	int     ThinkTime[THINKER_NUM]; 
	int     EatTime[THINKER_NUM]; 
	int     WaitTime[THINKER_NUM]; 
	int     HaveTrop[THINKER_NUM];//记录已经获得的筷子数 
	int     HaveFree[THINKER_NUM];//表示已经释放了多少个资源了 
	int     HaveCur[THINKER_NUM]; 
	int     WaitQueue[THINKER_NUM][2];//筷子的等待队列,因为任何时候都最多只有一个人在等待 
	int     WaitBegin[THINKER_NUM];  //记录开始等待的时间 
 
}Thinkers, *pThinkers; 
 
enum 
{ 
	NORMAL_STATUS, 
	THINKING_STATUS, 
	HUNGRY_STATUS, 
	EATING_STATUS 
}; 
//typedef Thinkers* pThinkers; 
 
 
 
 
 
#endif