【发布时间】:2011-03-21 07:40:53
【问题描述】:
使用基于事件的编程,您基本上只是循环和轮询,循环和轮询......为什么这比阻塞更受欢迎?如果您没有收到任何事件,为什么您更愿意使用 select() 而不是仅仅阻塞 accept()?
【问题讨论】:
-
您是否考虑过 select 允许在一个线程的多个 io 端口上阻塞,而简单的阻塞意味着每个 io 有一个线程。然后事件编程通常由底层 API(如 Windows 上的 io 端口)管理,这些 API 将为您运行比您编写的线程代码更好的线程代码。
-
不清楚你在问什么。为了使这个问题变得更好,我建议扩展一些定义和解释。
标签: c select network-programming