重構了MTAPI 的event loop

2021-04-25 12:25:27 字數 322 閱讀 6501

總結起來,實現乙個基於select的非同步多路io的要點是:

乙個執行緒,用於阻塞在select呼叫上,在讀寫集可用或者超時後立刻返回,檢查所發生的事件

一對額外的pipe描述符或者一對socket描述符,用於修改讀寫集後喚醒執行緒。windows上沒有本地socket,也不支援select pipe,沒關係,你google乙個開源的socketpair的實現

乙個listen埠,其套接字設定在讀集中,用於accept 新連線。

事件發生後,直接呼叫與套接字相關的**。需要的主要是,**函式的實現需要保持高效簡短,盡可能快的返回,通常具體的處理工作通知給其他執行緒就可以了。

重構了cxlt vue2 toastr外掛程式

距離上篇文章已經過去乙個多月了,期間有很多想法,但時間真不是想擠就能擠出來的。其實這段時間我就做了一件事,乙個小程式的專案,已上線半月有餘,也迭代了幾個版本,現在還在不斷完善。先說點題外話,我們做了乙個叫 車商聯盟 的小程式,目前只向車商開放,後面會逐漸向c端開放,之所以選擇小程式來實現,主要還是便...

重構之維 關於重構及《重構》的隨想

重構之維 關於重構及 重構 的隨想 重構 究竟重構了什麼?不止一次地,我聽到我們這個行業裡的大師們對重構技術提出 至少是 置疑 那是我們過去十五年裡一直在做的事 我從 上世紀 70年代就已經開始這樣做了 unix上的黑客們一直都是這樣做的 這些說辭讓我很有興趣探其究竟。在這本 重構 裡,martin...

重構了後端服務,我學到了這些東西

我是kurio 來自印度尼西亞的一款新聞聚合器 的軟體工程師。kurio是一款聚合器應用程式,我們的主要工作是 收集發布合作夥伴 上的新聞或文章,並通過我們的應用程式將其提供給使用者。與其他新聞聚合器一樣,我們為使用者提供了多種新聞內容,例如按我們的top stories邏輯進行排序的新聞 按照趨勢...