创建线程池的大小

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:45:44
1、要创建线程池,请问线程池大小应该怎么设定,与服务器cpu个数有什么关系。
2、在使用winsock的完成端口时如何与线程池结合。
完成端口accept之后,会有一个accept的socket等待recv,如何判断发生recv事件,如果是select模型,可以用select函数判断是否发生recv事件,那么完成端口如何判断,完成端口是如何判断有接收事件发生?
2,完成端口中,是否需要创建专门的接收线程用来接受,创建发送数据线程用于发送数据。
3、建立监听socket的那些选项是否在完成端口中适用。比如SO_KEEPALIVE、SO_SNDBUF、SO_RCVBUF、SO_REUSEADDR、SO_LINGER等。是否还需要设置为异步
4、可以创建多少个完成端口线程?

1、线程池数 = cpu个数2倍 + 2。
2、线程池函数等待完成端口的状态,当完成端口关联的socket有设定事件发生时,OS会激发这个事件为有信号,工作线程可以做相应事件的对应处理。