代码改变世界

WaitForMultipleObjects错误状态(ERROR_INVALID_PARAMETER)87

2009-11-29 16:12  Iron  阅读(1980)  评论(1编辑  收藏  举报

       最近一直在写oj评判,用的是多线程评判,开始编写大概的流程时,开启了一个线程,测试多线程数据冲撞时也只开启了10个评判线程而已,我记得windows一个进程最大可拥有2000个线程,这两天差不多要完结,打算做一个极限测试,于是直接把线程数跳到80,没想到,WaitForMultipleObjects不干了(我用的是handle数组保存线程句柄),在等待线程时直接返回,导致了主线程的退出,之后由于开启的大量线程还没有退出,所以在调试时弹出了一大堆的无厘头错误,不明所以,头大。。。。

        网上搜了搜,发现WaitForMultipleObjects,居然有最大等待限制MAXIMUM_WAIT_OBJECTS,在windows中定义紧紧为64,恍然大悟,我用80,不错才怪。当然也有解决方案:http://topic.csdn.net/t/20021128/10/1212049.html。在开始查找的时候我关键词用的不对,费了老大的劲,写这篇小文,做个笔记