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

夜场网站建设移动互联网营销

夜场网站建设,移动互联网营销,微信app下载安装官方版2022网址,即时通讯软件开发人员有时会误解context.Context类型,尽管它是Go语言的关键概念之一,也是Go中并发代码的基础之一。接下来让我们看看这个概念,并确保我们理解为什么乃如何有效地使用它。 根据官方文档: 上下文(context)携带最后期限、取消信号和其他跨API边界的值。 下面让我们来看下这…

        开发人员有时会误解context.Context类型,尽管它是Go语言的关键概念之一,也是Go中并发代码的基础之一。接下来让我们看看这个概念,并确保我们理解为什么乃如何有效地使用它。

根据官方文档:

        上下文(context)携带最后期限、取消信号和其他跨API边界的值。

        下面让我们来看下这个定义,以及和上下文相关的概念。

1. 最后期限

最后期限(deadline)是指通过以下方式明确指定的时间点:

  • 从当前开始的一个time.Duration
  • 一个time.Time

        最后期限的语义传达了如果到达此时间点则应停止当前的活动。例如,活动可以是一个I/O请求或者是一个等待从channel接收消息的goroutine。

        让我们考虑一个应用程序,它每4秒就从雷达那里接收一次飞行位置。一旦收到一个位置,我们希望能与其他关心最新位置的应用程序共享它。我们在我们所掌握的逻辑中定义了一个publisher接口,它只包含一个方法:

type publisher interface {Publish(ctx context.Context, position flight.Position) error
}

这个方法接收一个上下文参数和一个位置参数。我们假定这个具体的实现会调用一个函数来给代理(broker,就像使用Sarama库发布Kafka消息一样)发布消息。这个函数是上下文敏感的(context aware),也就是说,一旦上下文被取消,它就可以取消请求。

        假定我们没有收到上游的上下文,那应该提供给Publish方法什么上下文呢?我们提到过,应用程序只对最新的位置感兴趣,所以我们自已构建的上下文应该传达4秒超时的信息,如果4秒后还没有发布新的飞行位置,那就应该停止调用Publish方法:

type publishHandler struct {pub publisher
}func (h publishHandler) publishPosition(position flight.Position) error {ctx, cancel := context.WithTimeout(context.Background(), 4*time.Second)defer cancel()return h.pub.Publish(ctx, position)
}

这段代码使用context.WithTimeout函数创建了一个上下文对象,它接收一个超时参数和一个上下文参数,因为publishPosition没有接收一个已存在的上下文,所以我们使用cont

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

相关文章:

  • 做计算机网站祭祀网站建设方案
  • 网站地址怎么做超链接东莞网站建设哪家最好
  • 网站用哪种语言用eclipse做网站
  • 为企业做网站还有前途吗wordpress延迟加载插件
  • 电子商务网站建设ppt模板wordpress微信群大全
  • 办公用纸网站建设旅游网站的建设开题报告
  • 潍坊知名网站建设最新报价企业做网站公司怎么样
  • 设计素材网站线上iis默认网站删除
  • 免费的个人简历模板网站wordpress主动推送
  • 三站合一网站建设广州宣传片制作
  • 宣传型网站在wordpress上添加播放视频
  • 如何打击网站深圳品牌做网站公司
  • 仿顺丰优选网站源码福田祥菱箱货
  • 织梦网站站标网站买流量是怎么做的
  • 东莞设计网站企业精神标语
  • 不良网站浏览窗口九江网站建设
  • 电子工厂网站建设宁波北仑做公司网站
  • 新手做网站做那个免费国外永久域名注册
  • 网站开发工程师优势做网站网站赚
  • 织梦 去掉我的网站企业网站建站系统
  • 做外贸网站商城dedecms做网站全教程
  • 动物做logo的网站端州网站建设
  • 网站基建建设东营定制网站建设服务
  • seo团队郑州网站关键字优化
  • 河北省住房和城乡建设厅网站首页电脑网站生成手机网站
  • 做展示型网站多少钱代做网站地图
  • 万网网站空间购买wordpress 升级后 插件
  • js效果炫酷的网站推荐广州黄埔区
  • 淄博做网站58同城招聘网站分析如何做
  • 股票专业网站东莞企业做网站