服务端的处理流程大概是:初始化临界区等资源, 开三个处理请求队列线程, 然后主线程:接受CLIENT的请求->进入临界区(CriticalSection)->加入请求队列尾部中,队列尾指针指向新节点->退出临界区(CriticalSection);处理队列线程流程是:进入临界区->取队列首元素置于临时指针,并将队列首制向下一个元素->退出临界区->返回临时指针然后对请求处理->处理结束释放free该请求堆空间.问题:我在WIN2K PRO +VC6下编译测试环境下没问题 和WINXP PRO +VC7编译测试没问题,但是把这两个环境下编译好的程序放在win2003 SERVER企业版执行时不长时间就异常退出,请问可能是什么原因?
一定要在WIN2003下编译才行么?
一定要在WIN2003下编译才行么?
加请求到队列中 和 从队列中取队列头节点 都用的一个临界区,并且这两个操作结束后均释放该临界区。程序初始化用InitializeCriticalSection,进入临界用EnterCriticalSection,退出临界区用LeaveCriticalSection函数调用.