這篇文章主要介紹“tbox v1.6.5的新特性有哪些”,在日常操作中,相信很多人在tbox v1.6.5的新特性有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”tbox v1.6.5的新特性有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
這個版本功能和特性改動并不多,主要是改進了下協程的調度模塊,實現對process, socket,pipe這三種對象間的統一調度支持,我們可以在協程中同時操作進程,socket還有管道。
這有賴于tbox提供的poller模塊,統一封裝了對epoll/kqueue/select/poll/iocp等接口,實現跨平臺的等待socket/pipe對象事件,通過提供一致的reactor,實現了在協程中統一調度。
項目源碼
官方文檔
另外,poller還對進程事件的等待也加上了支持,可以通過相同的wait接口同時對process的退出事件進行等待,關于這塊內部其實還是做了很多事的。
例如:
win上通過thread+WaitForMultipleObjects的方式來對接到poller
unix上通過thread/waitpid的方式來對接到poller
相關poller接口主要有下面四個,其中object可以是process/pipe/socket對象,然后設置上對應的事件就可以去同時wait了。
tb_bool_t tb_poller_insert(tb_poller_ref_t poller, tb_poller_object_ref_t object, tb_size_t events, tb_cpointer_t priv);
tb_bool_t tb_poller_remove(tb_poller_ref_t poller, tb_poller_object_ref_t object);
tb_bool_t tb_poller_modify(tb_poller_ref_t poller, tb_poller_object_ref_t object, tb_size_t events, tb_cpointer_t priv);
tb_long_t tb_poller_wait(tb_poller_ref_t poller, tb_poller_event_func_t func, tb_long_t timeout);
#112: 新增unix socket支持,感謝@Codehz的貢獻
在協程和poller中支持同時等待和調度socket,pipe io和process
改進uuid生成,實現uuid v4
支持msys/mingw和cygwin/gcc上編譯
到此,關于“tbox v1.6.5的新特性有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。