作者: 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() ...另外, 不知您 "用“共用变量”的方式" 是怎样的方式??