首页 > 解决方案 > 为什么我们使用线程和选择一起

问题描述

我正在使用 c 中的套接字编程设置一个带有一些客户端的服务器。

我发现为了拥有多个客户端,我应该使用线程或选择或轮询。

我知道我应该如何使用这些功能,但是当我搜索时,我发现有一种方法可以从线程中使用并一起选择。

我有两个问题:

1)原因和好处是什么(同时使用select和thread)?

2)线程是否用于客户端并选择用于读取套接字?

标签: cmultithreadingsocketsselectpthreads

解决方案


select通过使用/epoll和非阻塞 I/O,您可以在一个线程中处理多个套接字/客户端。如果您有多个线程这样做,您可以处理更多的套接字/客户端。

旧但仍然相关的阅读 C10K 问题


推荐阅读