libuv的簡單理解

2021-08-08 16:14:31 字數 305 閱讀 1688

libuv是最初為nodejs編寫的跨平台支援庫。 它圍繞事件驅動的非同步i/o模型進行設計。該庫提供的不僅僅是在不同的i/o輪詢機制上的簡單抽象:「控制代碼」和「流」為套接字和其他實體提供了高階抽象; 還提供了跨平台檔案i/o和執行緒功能。

深入的了解,可以扒libuv官網

控制代碼表示能夠在活動時執行某些操作的長壽命物件。請求代表(通常)短暫的操作。

它建立了所有i/o操作的內容,它的意圖是繫結到乙個執行緒。只要每個執行在不同的執行緒中,就可以執行多個事件迴圈。

libuv事件迴圈(或涉及迴圈或控制代碼的任何其他api)不是執行緒安全的,除非另有說明。

「!」的簡單理解

今天看了乙個 有這樣一句 plisthead plisthead,ptobedeleted if plisthead ptobedeleted 之前一直不理解,這個!指標的模式表示的是指標沒有初始化,還是指標為空。於是我做了乙個兩個實驗,如下 int p if p 這個是沒有初始化的指標,結果直接顯...

libuv和libev 非同步I O庫的比較

libuv和libev,兩個名字相當相近的 i o library,最近有幸用兩個 library 都寫了一些東西,下面就來說一說我本人對兩者共同與不同點的主觀表述。高效能網路程式設計這個話題已經被討論爛了。非同步,非同步,還是非同步。不管是epoll也好,kqueue也罷,總是免不了非同步這個話題...

反射的簡單理解

載入類 3個方式 person有2個屬性,name和age,最後會給出person類的資訊 class clazz1 class.forname person class clazz2 person.class person p new person class clazz3 p.getclass ...