温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

tbox v1.6.5的新特性有哪些

发布时间:2022-04-22 16:40:31 来源:亿速云 阅读:173 作者: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