[問題] 關於 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