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

北京住房和城乡建设局门户网站怎么做网页设计稿

北京住房和城乡建设局门户网站,怎么做网页设计稿,网站开发总体设计,佛山seo教程前言 线程池大家都听过,其主要解决的是线程频繁创建销毁带来的性能影响,控制线程数量。 go协程理论上支持百万协程并发,协程创建调度的消耗极低,但毕竟也是消耗对吧。 而且协程池可以做一些额外的功能,比如限制并发&…

前言
线程池大家都听过,其主要解决的是线程频繁创建销毁带来的性能影响,控制线程数量。

go协程理论上支持百万协程并发,协程创建调度的消耗极低,但毕竟也是消耗对吧。

而且协程池可以做一些额外的功能,比如限制并发,定时等功能。

tunny中的协程池实现的几个功能,一个是限制并发,另一个是能根据协程上下文中断协程处理。同时能在协程处理过程中能做一些额外逻辑,算是装饰器吧。

简单示例
我们首先通过一个简单的例子来看这个协程池怎么使用,根据这个例子来一步步看源码。

    pool := tunny.NewFunc(10, func(in interface{}) interface{} {
        intVal := in.(int)
        fmt.Println(intVal)
        return intVal * 2
    })
    defer pool.Close()

    for i := 0; i < 10; i++ {
        ret := pool.Process(i)
        fmt.Println(ret)
    }

上例中,通过tunny.NewFunc 创建了一个容量为10的协程池,第二个参数定义了协程的处理方法,在下面的循环中,通过pool.Process(i) 调用了定义的方法,这个例子已经包含了协程池的创建和调度,来看看这两个是怎么实现的。

其他实践:

 

tunny vs ants

tunny设计的思路与ants有较大的区别:

tunny只支持同步的方式执行任务,虽然任务在另一个 goroutine 执行,但是提交任务的 goroutine 必须等待结果返回或超时。不能做其他事情。正是由于这一点,导致tunny的设计稍微一点复杂,而且为了支持超时和取消,设计了多个通道用于和执行任务的 goroutine 通信。一次任务执行的过程涉及多次通信,性能是有损失的。从另一方面说,同步的编程方式更符合人类的直觉。

ants完全是异步的任务执行流程,相比tunny性能是稍高一些的。但是也因为它的异步特性,导致没有任务超时、取消这些机制。而且如果需要收集结果,必须要自己编写额外的代码。

总结

本文介绍了另一个 goroutine 池的实现tunny。它以同步的方式来处理任务,编写代码更加直观,对任务的执行流程有更强的控制,如超时、取消等。当然实现也复杂一些。

 

http://www.yayakq.cn/news/455110/

相关文章:

  • 开源企业cms建站系统重庆网站设计定制
  • 做我女朋友的网站常见cms网站源码下载
  • 溧阳网站建设公司为什么wordpress不能更新文章
  • 个人网站备案名字重庆室内设计学校
  • 从事网站开发方向广告外链购买交易平台
  • 哪家做网站好wordpress自定义右键
  • 国内flask做的网站房屋备案查询系统官网
  • 1688外贸网站专业制作网站哪家专业
  • 手机网站搭建平台麒麟seo
  • 怎样设置个人官方网站wordpress点播视频模版
  • 排名好的成都网站建设非模板网站
  • 专做机械类毕业设计的网站绿建设计院网站
  • 查看wordpress作者名seo运营是什么意思
  • 关于12380网站建设文件手机网站界面设计
  • 门户网站 模板如何申请企业邮箱流程
  • 宁波网站优化的关键子主题wordpress插件
  • 免费字体网站郑州做网站价格
  • 网站转移空间以后ip会变化吗顺风顺水的公司名字
  • 濮阳做网站的电话2022网页游戏
  • 软件工程管理系统wordpress优化搜索引擎
  • 做网站是否用数据库wordpress 读取数据库配置文件
  • 网站建设的审批部门是企业管理咨询的工作主体
  • 铜梁城乡建设网站黑龙江网上建设局报建网站
  • 福安市教育局建设网站flash网站模板
  • 做自媒体的有哪些素材网站物流 东莞网站建设
  • 清远医疗网站建设网络购物平台有哪几个
  • 谁有qq网站开发资源群中铁建设集团门户网站登陆
  • 开发板是干什么用的seo网站推广案例
  • 免费建简单网站网站建设存在四个问题
  • 莆田手表网站建设直播网站需要多少钱