libuv

    1熱度

    1回答

    我正在尋找移動遊戲客戶端網絡的網絡庫。 我目前使用cocos2d-x與Lua用於客戶端編程。 我認爲在我的客戶端網絡庫(TCP)中使用libuv或luv(libuv的Lua綁定)。 在UV_RUN_ONCE或UV_RUN_NOWAIT模式在遊戲主循環(主線程)每個幀運行libuv迴路。當libuv接收到網絡數據時,它會在遊戲主線程(Lua虛擬機運行的地方)中調用我的回調Lua函數,並且我的Lua代

    0熱度

    1回答

    ,我需要並行啓動共享庫的實例。我想知道是否有一種簡單的方法來創建&維護一個自己的數據庫,因爲我想對並行實例的數量進行細粒度的控制( - 庫的許可限制了一定數量的並行性)本地模塊中的線程池? 謝謝!

    0熱度

    2回答

    我想通過libuv包裝一個C++層,並使用lambda來實現回調函數。但是gcc正在出錯。 這裏是縮小的版本: #include <uv.h> class Test { public: void on_conn(uv_stream_t *server, int status) { } void test() { uv_tcp_t server; au

    0熱度

    1回答

    我在玩libuv,我試圖在本地主機上偵聽一個簡單的服務器,並且每當客戶端連接時,只需發送一個「你好」。 問題是,服務器似乎工作,但在第一次連接後,寫回調不斷調用循環,永遠不會放過。 這是一個完整的代碼示例。出了什麼問題? #include <iostream> #include <uv.h> class Server { public: Server() : m_connectionC

    1熱度

    3回答

    在過去的日子裏,我一直在研究如何理解Node.js基於事件的風格如何處理比傳統的多線程方法更多的併發請求。最後,所有關於內存佔用和內存切換的內容都減少了,因爲Node.js只使用了幾個線程(V8單線程和一堆C++工作線程以及libuv的主線程)。 但是如何處理大量帶有幾個線程的請求,因爲最後一些線程必須被阻塞等待,例如數據庫讀取操作。 我認爲這個想法是:而不是同時阻塞客戶端線程和數據庫線程,只有數

    2熱度

    1回答

    我開始玩libuv,我真的很喜歡它,但是我似乎無法找到一種方式從另一個線程發信號通知循環線程。我想要做的是這樣的: 線程A:在uv_run(uv_default_loop(),UV_DEFAULT_RUN)上的塊;假設它在套接字上偵聽。 線程B:通過寫入socket之外的方式喚醒睡在uv_default_loop()上的線程,如uv_loop_signal()? 會有人知道這是可能的嗎?

    8熱度

    1回答

    這是關於系統級優化的概念性查詢。通過閱讀NodeJS文檔,我的理解是管道可以方便地對流進行流量控制。 背景:我有麥克風流進來,我想避免額外的複製操作來保存整個系統的MIPS。我知道對於音頻流,即使有一個memcopy,但是我並沒有花費大量的MIPS,但是我也有一個擴展計劃,以30fps和UHD分辨率在相機幀中進行流式傳輸。以30fps製作UHD分辨率像素數據的多個副本效率超低,因此需要一些建議。

    1熱度

    1回答

    我正在爲消息傳遞庫編寫IO核心,並考慮libuv與使用Linux上的原始epoll和Windows上的IOCP(以及最終其他人,solaris事件等)我喜歡可移植性libuv,我在看性能。 epoll和IOCP允許多個線程直接等待IO事件,內核執行調度。儘管我沒有任何數字,但比用戶空間調度更有效。 libuv(基於我的閱讀)有一個線程-USafe事件循環,但我可以實現一個領導者跟隨者線程池。我的意

    0熱度

    1回答

    process.nextTick究竟是什麼意思? nextTick是否意味着,在當前階段的一個元素的回調隊列彈出後?或者在執行當前階段隊列中的所有回調之後進入下一個階段之前?

    19熱度

    1回答

    最近我對Node.js的核心進行了大量的研究,並且對Node平臺的內部工作有一些疑問。據我瞭解,Node.js的工作原理是這樣: 節點有一個API,Javascript編寫的,它允許程序員用的東西,如文件系統和網絡進行交互。但是,所有這些功能實際上都是由C/C++代碼完成的,它也是Node的一部分。這是事情變得模糊的地方。因此,Chrome V8引擎的工作基本上是將JavaScript編譯(解釋?