溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tbox v1.6.5的新特性有哪些

發布時間:2022-04-22 16:40:31 來源:億速云 閱讀:205 作者:zzz 欄目:大數據

這篇文章主要介紹“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的退出事件進行等待,關于這塊內部其實還是做了很多事的。

例如:

  1. win上通過thread+WaitForMultipleObjects的方式來對接到poller

  2. 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的新特性有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女