- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2015-07-31 18:53 编辑
fender0107401 发表于 2015-07-30 15:02 ![]()
我在设计一个小型服务器,需要不停的接收另一个程序的指令,对时间要求非常的高。
为了简化流程,我非常 ...
这个很简单啊。可以采用TPC模型(thread per connection),tpool(thread pool)模型都可以。
一个线程accept,收到连接请求提交给其他线程处理。由于有很多线程在处理,也有很多核在处理,所以可以有并行度的。
连接的开销比较大,而且是一个线程在处理,所以不建议短连接,还是一次连接多次请求/应答比较好。
你说的单线程处理多连接,可以理解为一个线程的线程池。你怕等待,就弄成多个线程的线程池。
一个线程的异步,也是串行处理。最好是多线程异步。也可以多线程协程。
响应时间取决于你的业务。即使做不到一毫秒一个业务,至少可以做到一秒1000个业务,通过并行处理。
另外建议客户端采用连接池技术,事先连接好若干个连接,使用时只需要请求/应答,这大大减少响应时间。
如果有很多客户端,本身就是并行的。如果客户端数量不多,可以采用多线程+连接池进行并行处理。 |
|