看板 Python 關於我們 聯絡資訊
今天我看了一下stackless python 有幾點還蠻困惑的 我對它的理解 是覺得他類似twisted那樣 他從頭到尾可能只有一個 stackless.run()的main thread在跑 而會對於tasklet排程 決定什麼時候要跑哪個tasklet 就和twisted的reactor.run()類似 但是tasklet可以呼叫stackless.schedule() 所以就等於可以在很多不同的tasklet中跳來跳去 (我記得程式語言課有上過 說些語言好像就是這種方式 在不同的行程之間跳躍) 加上channel可以互丟訊息 我這樣的認知正確嗎? 如果只有這樣,當某個tasklet做很吃重的工作時 應該也會像是reactor.run遇到某個在main thread裡呼叫吃重工作的程式一樣 其它task在main thread的工作結束之前就沒辦法完成 比起erlang可以將任務丟給不同的機器做 twisted可以把任務丟給thread pool stackless在這樣看來好像只有單一個process在跑event loop而已 是這樣嗎? 那他的好處又是在哪裡? 直接用twsited似乎反而比較輕鬆 而且好像也沒有用到多核心的好處 以上 謝謝 -- 哇咧咧 創意投票系統 http://walele.com 易記學 程式設計教學 http://ez2learn.com/ 易記學 程式設計討論區 http://forum.ez2learn.com VICTOR's 個人Blog http://blog.ez2learn.com/ 財報分析王 http://victorlin.serveftp.org/stock/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.82.16