各位高手:
监听套接字上关联一个event并用WSAEventSelect挂上FD_ACCEPT后,客户端连接时该event就会被传信,监听线程里WaitForSingleObject处理传信事件(也就是调用接受连接)。现在问题是,假如并发进来100个连接,那我何时知道我已经全部调用过accept,这时我可以ResetEvent,因为我发现监听线程里不能随便ResetEvent,这样极有可能导致有的连接得不到接受从而降低了连接的成功率。我应该如何处理这个问题呢?或者哪位有更潇洒的解决办法也说来听听。
监听套接字上关联一个event并用WSAEventSelect挂上FD_ACCEPT后,客户端连接时该event就会被传信,监听线程里WaitForSingleObject处理传信事件(也就是调用接受连接)。现在问题是,假如并发进来100个连接,那我何时知道我已经全部调用过accept,这时我可以ResetEvent,因为我发现监听线程里不能随便ResetEvent,这样极有可能导致有的连接得不到接受从而降低了连接的成功率。我应该如何处理这个问题呢?或者哪位有更潇洒的解决办法也说来听听。
监听线程就每次require这个信号量,require成功一次就会使得信号量减一。
这样只要信号量大于0,监听线程总会运行,一直到信号量等于○。
假设我现在事件是类似winsock网络事件由系统触发,这个信号量如何实现呢?
这么早就起床了,哈哈,谢谢
饶命啊,不是我的错,csdn上没有人理我。。
也罢,先寄下你项上人头
救命啊