当前位置: 首页 > news >正文

深圳网站开发奇辰科技全网营销培训

深圳网站开发奇辰科技,全网营销培训,wordpress本地主机,网站做推广页需要什么软件下载关于go task 提供了另一种更简单的使用计算任务的方法,模仿go语言实现的go task。 使用go task来实计算任务无需定义输入与输出,所有数据通过函数参数传递。 与ThreadTask 区别 ThreadTask 是有模板,IN 和 OUT, ThreadTask 依赖…

关于go task

提供了另一种更简单的使用计算任务的方法,模仿go语言实现的go task。
使用go task来实计算任务无需定义输入与输出,所有数据通过函数参数传递。

与ThreadTask 区别

ThreadTask 是有模板,IN 和 OUT, ThreadTask 依赖 输入输出。

而 GoTask 不依赖,而是直接将函数打包成 go 这个callback,等待线程池消费。

1.示例程序

我们想异步的运行一个加法函数:void add(int a, int b, int& res);
并且我们还想在函数运行结束的时候打印出结果。于是可以这样实现:

#include <stdio.h>
#include <utility>
#include "workflow/WFTaskFactory.h"
#include "workflow/WFFacilities.h"void add(int a, int b, int& res)
{res = a + b;
}int main(void)
{WFFacilities::WaitGroup wait_group(1);int a = 1;int b = 1;int res;WFGoTask *task = WFTaskFactory::create_go_task("test", add, a, b, std::ref(res));task->set_callback([&](WFGoTask *task) {printf("%d + %d = %d\n", a, b, res);wait_group.done();});task->start();wait_group.wait();return 0;
}

2. 继承顺序

在这里插入图片描述

3.源码分析

template<class FUNC, class... ARGS>
inline WFGoTask *WFTaskFactory::create_go_task(const std::string& queue_name,FUNC&& func, ARGS&&... args)
{auto&& tmp = std::bind(std::forward<FUNC>(func),std::forward<ARGS>(args)...);return new __WFGoTask(WFGlobal::get_exec_queue(queue_name),WFGlobal::get_compute_executor(),std::move(tmp));
}
class __WFGoTask : public WFGoTask
{
protected:virtual void execute(){this->go();}protected:std::function<void ()> go;public:__WFGoTask(ExecQueue *queue, Executor *executor,std::function<void ()>&& func) :WFGoTask(queue, executor),go(std::move(func)){}
};

其他和ThreadTask一致,还是通过线程池去执行execute(),从而进行用户函数的执行

4.参考链接

https://github.com/chanchann/workflow_annotation/blob/main/src_analysis/12_go_task.md
https://github.com/sogou/workflow/blob/master/docs/about-go-task.md

http://www.jinmujx.cn/news/113429.html

相关文章:

  • 哪个网站可以做化学实验18款禁用看奶app入口
  • 国家最新政策解读seo优化排名百度教程
  • 担路做网站长沙百度网站排名优化
  • 怎么可以预览自己做的网站福州seo
  • 做ppt的网站叫什么软件企业网络营销策划
  • 企业网站建设比较调查怎么写百度提交
  • 深做网站公司凡科建站登录官网
  • dw做好的网页如何发布强强seo博客
  • 商户网站建设公司沈阳关键词seo排名
  • 网站建设合同要上印花税吗百度公司地址在哪里
  • dw做的网站链接不会跳转天津seo培训机构
  • wordpress自定义url结构设置seo优化排名公司
  • 免费建站系统博客地推接单平台找推网
  • 电脑培训网上免费课程免费seo快速排名工具
  • 做电影网站程序好用吗个人网站如何优化关键词
  • 科技感十足的网站海外seo是什么
  • 徐州哪里做网站互联网广告行业
  • 建设网站犀牛云沙洋县seo优化排名价格
  • 网站页面优化方法有哪些内容引擎搜索有哪些
  • 建立一个网站需要多少钱费用近三天的国内新闻
  • 化肥厂的网站摸板西安seo学院
  • 哪个网站可以做全网推广seo优化方法网站快速排名推广渠道
  • 怎么做网站知乎seo站内优化教程
  • 做网站一个月多少钱传智播客培训机构官网
  • 做网站学哪种代码好自助建站平台源码
  • 秦皇岛哪家公司网站建设好百度导航是哪个国家的
  • 做综合类网站好不好郑州网络推广专业公司
  • app网站建设宣传方案怎样才能在百度上发布信息
  • 网站开发成本会计科目b站刺激战场视频
  • wap网站前台seo工程师是做什么的