[问题] 关于 multithread timer 多执行绪的计时器

楼主: note35 (kir)   2013-08-14 14:04:35
第一次在板上询问...小的是linux系统程式的生手
最近在写proxy server碰到timer的问题:
我的需求是有一台proxy server (以下简称ps)
ps 会开 n 个 thread 去处理
"每个不同的client 对固定server 的连线(send跟recv)"
图解:
client
作者: yvb   2013-08-14 22:01:00
不知使用 epoll 或 libevent 如何?
作者: tseng1129 ( )   2013-08-15 00:17:00
timer_create - create a POSIX per-process timer
作者: dou0228 (7777)   2013-08-15 21:38:00
推 libevent
作者: yvb   2013-08-16 20:34:00
忽然想到, 3 为何很吃资源? 是因为套用 2 在 main thread 吗?然后, 2 是在 thread 用 non-blocking 吗?libev 和 libevent 是两套不同的 library...使用 select/poll/epoll 基本原理都是 asynchronous 的方式,但在很多 FDs 和 Threads 的情况下, epoll 较佳...另外, 即使用 busy waiting 的方式, 还是可以适当加入一些条件做 usleep() 来避免狂吃资源...比方non-blocking read没东西就慢慢加大usleep直到某上限之类.read 的到东西就不需做 usleep() ...另外, 不知您 "用“共用变量”的方式" 是怎样的方式??

Links booklink

Contact Us: admin [ a t ] ucptt.com