【发布时间】:2016-12-28 01:18:27
【问题描述】:
我创建了一个 TCP 客户端应用程序,并决定使用 c 中的 pthread 库通过一个新线程处理传入数据。
但是,我在某处读到,当多个线程尝试写入同一个文件描述符以进行套接字连接时,可能会发生意想不到的事情。
确保这些“意外事件”不会发生的最佳方法是什么。
一开始就需要使用线程吗?
注意:我决定使用线程是为了防止任何阻塞操作。
【问题讨论】:
-
最好的方法是确保只有一个线程读取/写入套接字。注意:在决定使用线程之前,你需要解释为什么阻塞是不可取的。
-
投票结束:过于广泛
-
应用程序是 USSD 应用程序 - 非结构化补充服务数据。它将为多个用户提供服务,有时几乎同时拨打一个短代码。 USSD 网关具有有效的超时,并且要求客户端应用程序在此时间范围内提供响应。当他们不得不等待时,用户体验将受到极大的影响,有时他们的请求可能会超时。
-
@OladipoOlasemo 你知道
select()吗? -
是的。我读过它。不知道如何在实际代码中实现它。