Re: [問題] select 和 multithreading的差異?
※ 引述《rmp4aup6 (嘿嘿)》之銘言:
: 想請問各位先進,
: multithreading和select 兩者的差異是什麼?
: 定位在哪?
: select感覺就是用multithread的概念,
: 希望有人可以幫我解惑,謝謝~
簡單來說,select是對fd作多工,基本上依然是blocking I/O,
而一般Linux上的pthread實作是直接對應一個可排程task,所以
不需擔心因為處理某個fd耗時太久,影響其他fd的處理。
但是thread開太多對OS也是另一個開銷,並且同步會比用select
時的sequence麻煩一些,比如說:何種同步機制較有效率?
而這些基本上都需視應用場景決定技術採用,建議參考類似
的open source project,看看有經驗的programmer如何混用
這些機制。
不過基本概念,還是推薦The Linux Programming Interface一書。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.211.115
推
06/26 13:21, , 1F
06/26 13:21, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):