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

私募股权基金网站建设wordpress loginview

私募股权基金网站建设,wordpress loginview,设计型网站建设,ppt模板免费下载百度网盘前言 线程池大家都听过,其主要解决的是线程频繁创建销毁带来的性能影响,控制线程数量。 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/653545/

相关文章:

  • 我的网站百度搜不到godaddy 安装wordpress
  • 宁波网站建站公司打广告推广怎么做
  • 网站建设设计工具深圳seo网络推广
  • 做非法网站判刑多少年电子邮箱网站建设
  • 四川省建设工程造价信息网网站seo主管招聘
  • 湖南建工交通建设有限公司网站动易网站 设置背景图片
  • 夏邑网站建设如何获取新注册公司电话
  • 免费php企业网站网站底部导航
  • 网站标题设计在线免费做动态图片的网站
  • 贵阳网站建设培训摄影网站建设策划书
  • 建设网站的特色制作图片的ai
  • 公司创建网站多少钱门户网站建设调查问卷
  • jsp网站开发网上订餐系统pc28源码网页版源码
  • 微网站如何做横幅链接WordPress无法显示摘要
  • 深圳网站(建设信科网络)做网站就是做服务
  • 工伤保险网站硅云wordpress多站点
  • 奇网企业网站管理系统个人网站做博客还是做论坛
  • 福州网站建设报价网站建设工作情况汇报
  • 做淘宝客网站需要什么要求高端设计网站公司
  • 张家港网站制作服务鞍山人才网档案查询系统
  • 有网站做淘宝客苏州网架公司
  • 一个专门做特卖的网站成都网站建设服务有什么
  • 网站换一个图片怎么做如何开发自己的app软件
  • 苏州园区网站制作公司手机商城网站建设设计方案
  • 华为网站建设商城网站开发与设计
  • 济南手机网站建设公司哪家好展览展示展厅设计
  • c 手机网站开发工具女生学视觉传达设计好就业吗
  • 南昌市建设局网站WordPress分段插件
  • wordpress已发布不显示昆明网站优化排名推广
  • wordpress流量统计seo优化网站词