海湾合作委员会 4.4.1
我正在编写一个服务器程序,其中许多客户端将连接到客户端,服务器将管理客户端请求并管理客户端状态。高负载下的许多客户端将是使用异步编程的决定性因素。但是,我从未在 C 中做过 Async。
但是,根据我从研究中了解到的情况,我认为我需要使用 Async。
1) 使用同步编程意味着调用会被阻塞并会造成瓶颈。系统会在高负载下崩溃
2) 使用使用线程的同步编程会为每个客户端创建一个新线程,这意味着在高负载下系统资源可能会耗尽,并可能使系统在处理所有这些线程时过于复杂。
3) 使用 Async 意味着我必须开发一个状态机???
谁能指出我正确的方向?在 Aysnc 编程?
非常感谢任何建议,
最佳答案
将传入的请求放入队列
使用一个线程来调度队列
从队列中取出的请求在自己的线程中执行;队列可以限制事件线程(线程池)的数量以防止服务器过载。请求不会丢失,但它们可能会在队列中等待处理一段时间。
如果您愿意,队列管理器还可以杀死花费太长时间的线程
祝你好运!
关于c - 异步编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025189/