您好,登录后才能下订单哦!
这篇文章主要介绍“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。