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

有哪些档案网站wordpress html5 中文

有哪些档案网站,wordpress html5 中文,德州汇泽网站建设,数据分析师资格证书怎么考文章目录一、为什么需要context二、context 接口三、Background 方法四、 with 系列函数1、WithCancel 方法2、WithDeadline 方法3、WithTimeout 方法4、WithValue 方法五、使用注意事项一、为什么需要context 在 Go http包的Server中,每一个请求在都有一个对应的 …

文章目录

  • 一、为什么需要context
  • 二、context 接口
  • 三、Background 方法
  • 四、 with 系列函数
    • 1、WithCancel 方法
    • 2、WithDeadline 方法
    • 3、WithTimeout 方法
    • 4、WithValue 方法
  • 五、使用注意事项

一、为什么需要context

在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。

用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的token、请求的截止时间。 当一个请求被取消或超时时,所有用来处理该请求的 goroutine 都应该迅速退出,然后系统才能释放这些 goroutine 占用的资源。

二、context 接口

context.Context是一个接口,该接口定义了四个需要实现的方法。

语法:


type Context interface {Deadline() (deadline time.Time, ok bool)Done() <-chan struct{}Err() errorValue(key interface{}) interface{}
}方法解释:Deadline():返回当前Context被取消的时间,也就是完成工作的截止时间(deadline);Done():返回一个Channel,这个Channel会在当前工作完成或者上下文被取消之后关闭,多次调用Done方法会返回同一个Channel;Err():返回当前Context结束的原因,它只会在Done返回的Channel被关闭时才会返回非空的值;如果当前Context被取消就会返回Canceled错误;如果当前Context超时就会返回DeadlineExceeded错误;Value():从Context中返回键对应的值,对于同一个上下文来说,多次调用Value 并传入相同的Key会返回相同的结果;

三、Background 方法

语法:


context.Background() Context

分析: Background()主要用于main函数、初始化以及测试代码中,作为Context这个树结构的最顶层的Context,也就是根Context。

四、 with 系列函数

1、WithCancel 方法

WithCancel返回带有新Done通道的父节点的副本。当调用返回的cancel函数或当关闭父上下文的Done通道时,将关闭返回的上下文的Done通道。

语法:


func WithCancel(parent Context) (ctx Context, cancel CancelFunc)

2、WithDeadline 方法

返回父上下文的副本,并将deadline调整为不迟于d。如果父上下文的deadline已经早于d,则WithDeadline(parent, d)在语义上等同于父上下文。当截止日过期时或调用返回的cancel函数时或当父上下文的Done通道关闭时,返回上下文的Done通道将被关闭,以最先发生的情况为准。

语法:


func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc)

3、WithTimeout 方法

WithTimeout返回WithDeadline(parent, time.Now().Add(timeout))

语法:


func WithDeadline(parent Context, deadline time.Time) (Context, CancelFunc)

4、WithValue 方法

WithValue函数能够将请求作用域的数据与 Context 对象建立关系。WithValue返回父节点的副本,其中与key关联的值为val。

语法:


func WithValue(parent Context, key, val interface{}) Context 

五、使用注意事项

  1. 推荐以参数的方式显示传递Context
  2. 以Context作为参数的函数方法,应该把Context作为第一个参数。
  3. 给一个函数方法传递Context的时候,不要传递nil,如果不知道传递什么,就使用context.Background()
  4. Context的Value相关方法应该传递请求域的必要数据,不应该用于传递可选参数
  5. Context是线程安全的,可以放心的在多个goroutine中传递
http://www.yayakq.cn/news/750326/

相关文章:

  • 怎么建网站详细步骤wordpress修改文章id
  • 做网站排版网站的弹窗对话框怎么做
  • 大学网站建设专业微信小程序开发实战课后答案
  • 企业网站实名审核中心wordpress装修模板
  • 自己建设房源网站门户网站如何建设
  • 网站可以增加关键词吗seo黑帽教程视频
  • 铜仁网站优化广告设计专业简历
  • 网站运营难做嘛上海建设工程有限公司
  • 海南哪家公司做网站平安建设网站
  • 打代码怎么做网站网站开发人员的工资
  • 上海先进网站设计沁水网站建设
  • 网站ip解析网上做网站的
  • 吕子乔做网站一段台词中山免备案网站建设
  • 网站建设毕业设计的分类号法治网站的建设整改措施
  • 化妆培训学校网站开发广州建设网站公司
  • 外贸开发模板网站模板wordpress 二维码插件下载地址
  • 民治营销型网站制作定制网络接口报警灯生产厂商
  • 专业网站制作软件wordpress和shopify
  • html代码大全网站推荐常德哪里有做网站
  • 苏州市智信建设职业培训学校网站动漫设计视频
  • 企业网站代码重庆做网站熊掌号
  • 大连网站建设是什么汕头市广州新业建设有限公司网站
  • 印刷网站建设价格网站建设如何导入音乐
  • php 手机网站cms贵池区城乡与住房建设网站
  • 佛山最好的网站建设12306网站 花了多少钱建设
  • 网站怎么做邮箱wordpress互动游戏
  • 简述营销型网站开发流程郑州宣传片制作多少钱
  • 网站原型设计和版式设计婚纱摄影网站的设计
  • 赤峰网站建设招聘品牌展示设计网站
  • 为什么进行网站备案旅游网网站建设的管理