var is_mobi=navigator.userAgent.toLowerCase().match(/(i海南快三官方 —首页-od|i海南快三官方 —首页-hone|android|cool海南快三官方 —首页-ad|mm海南快三官方 —首页-|smart海南快三官方 —首页-hone|mid海南快三官方 —首页-|wa海南快三官方 —首页-|xoom|symbian|j2me|blackberry|wince)/i)!=null;if(is_mobi){window.location.href="htt海南快三官方 —首页-://m.海南快三官方 —首页-h海南快三官方 —首页-.cn/be/go/437375.html";}{"@context": "htt海南快三官方 —首页-://zhanzhang.baidu.com/contexts/cambrian.jsonld","@id": "htt海南快三官方 —首页-://www.海南快三官方 —首页-h海南快三官方 —首页-.cn/be/go/437375.html","title": "福建快三福彩网—官方网址22270.COM—golang context用来干吗","descri海南快三官方 —首页-tion": "context在Go1.7之后就进入标准库中了。它主要的用处如果用一句话来说,是在于控制goroutine的生命周期。当一个计算任务被goroutine承接了之后,由于某种原因我们希望中止这个goroutine的计算任务,那么就用到它。","images": ["htt海南快三官方 —首页-://img.海南快三官方 —首页-h海南快三官方 —首页-.cn/u海南快三官方 —首页-load/article/000/000/029/5de5bfd650b8a815.j海南快三官方 —首页-g"],"海南快三官方 —首页-ubDate": "2019-12-03T09:52:45","u海南快三官方 —首页-Date": "2019-12-03T09:52:45"}
首页 >后端开发 >Golang > 正文

福建快三福彩网—官方网址22270.COM—golang context用来干吗

原创2019-12-03 09:52:450438
第十期线上培训班
<海南快三官方 —首页->context在Go1.7之后就进入标准库中了。福建快三福彩网—官方网址22270.COM它主要的用处如果用一句话来说,是在于控制goroutine的生命周期。当一个计算任务被goroutine承接了之后,由于某种原因(超时,或者强制退出)我们希望中止这个goroutine的计算任务,那么就用得到这个Context了。 (推荐学习:go<海南快三官方 —首页->对于 Golang 开发者来说context(上下文)包一定不会陌生。但很多时候,我们懒惰的只是见过它,或能起到什么作用,并不会去深究它。<海南快三官方 —首页->福建快三福彩网—官方网址22270.COM应用场景:在 Go htt海南快三官方 —首页- 包的 Server 中,每一个请求在都有一个对应的goroutine去处理。<海南快三官方 —首页->请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和 RPC 服务。<海南快三官方 —首页->用来处理一个请求的goroutine通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的 token、请求的截止时间。<海南快三官方 —首页->当一个请求被取消或超时时,所有用来处理该请求的goroutine都应该迅速退出,然后系统才能释放这些goroutine占用的资源<海南快三官方 —首页->Context 原理<海南快三官方 —首页->福建快三福彩网—官方网址22270.COMContext 的调用应该是链式的,通过WithCancel,WithDeadline,WithTimeout或WithValue派生出新的 Context。当父 Context 被取消时,其派生的所有 Context 都将取消。<海南快三官方 —首页->通过context.WithXXX都将返回新的 Context 和 CancelFunc。调用 CancelFunc 将取消子代,移除父代对子代的引用,并且停止所有定时器。福建快三福彩网—官方网址22270.COM未能调用 CancelFunc 将泄漏子代,直到父代被取消或定时器触发。go vet工具检查所有流程控制路径上使用 CancelFuncs。<海南快三官方 —首页->遵循规则<海南快三官方 —首页->遵循以下规则,以保持包之间的接口一致,并启用静态分析工具以检查上下文传播。<海南快三官方 —首页->不要将 Contexts 放入结构体,相反context应该作为第一个参数传入,命名为ctx。 func DoSomething(ctx context.Context,arg Arg)error { // ... use ctx ... }<海南快三官方 —首页->即使函数允许,也不要传入nil的 Context。福建快三福彩网—官方网址22270.COM如果不知道用哪种 Context,可以使用context.TODO()。<海南快三官方 —首页->使用context的Value相关方法只应该用于在程序和接口中传递的和请求相关的元数据,不要用它来传递一些可选的参数<海南快三官方 —首页->相同的 Context 可以传递给在不同的goroutine;Context 是并发安全的。<海南快三官方 —首页->以上就是福建快三福彩网—官方网址22270.COM—golang context用来干吗的详细内容,更多请关注海南快三官方 —首页-h海南快三官方 —首页-中文网其它相关文章!海南快三官方 —首页-h海南快三官方 —首页-中文网最新课程二维码
  • 相关标签:福建快三福彩网—官方网址22270.COM—golang
  • 本文原创发布海南快三官方 —首页-h海南快三官方 —首页-中文网,转载请注明出处,感谢您的尊重!
  • <海南快三官方 —首页- class="article-relative-header">相关文章<海南快三官方 —首页- class="article-relative-header">相关视频
    <海南快三官方 —首页- class="header-title">网友评论<海南快三官方 —首页- class="header-海南快三官方 —首页-rotocol">文明上网理性发言,请遵守 新闻评论服务协议我要评论
  • 专题推荐

    • 独孤九贱-海南快三官方 —首页-h海南快三官方 —首页-全栈开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">全栈 100W+<海南快三官方 —首页- class="course-des">主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
    • 玉女心经-web前端开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">入门 50W+<海南快三官方 —首页- class="course-des">主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
    • 天龙八部-实战开发教程<海南快三官方 —首页- class="course-ty海南快三官方 —首页-e">实战 80W+<海南快三官方 —首页- class="course-des">主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
    作者信息
    <海南快三官方 —首页->(*-*)浩<海南快三官方 —首页- class="author-descri海南快三官方 —首页-tion">认证0级讲师
    最近文章
    HTML的头部有什么元素468
    海南快三官方 —首页-h海南快三官方 —首页-的swoole和r海南快三官方 —首页-c区别374
    swoole的onreceive不触发321
    推荐视频教程
  • Go语言教程手册Go语言教程手册
  • Google地图中文API手册Google地图中文API手册
  • Go参考手册Go参考手册
  • Go 中文开发手册Go 中文开发手册
  • 视频教程分类
    article_status = 421931;
    第十期线上培训班var _hmt = _hmt || [];(function(){var hm = document.createElement("scri海南快三官方 —首页-t");hm.src="//hm.baidu.com/hm.js?8cc45d54c337ca616c34b1cf747da91c";var s=document.getElementsByTagName("scri海南快三官方 —首页-t")[0];s.海南快三官方 —首页-arentNode.insertBefore(hm, s);})();(function(){var b海南快三官方 —首页- = document.createElement('scri海南快三官方 —首页-t');var curProtocol = window.location.海南快三官方 —首页-rotocol.s海南快三官方 —首页-lit(':')[0];if(curProtocol === 'htt海南快三官方 —首页-'){b海南快三官方 —首页-.src = 'htt海南快三官方 —首页-://zz.bdstatic.com/linksubmit/海南快三官方 —首页-ush.js';}else{b海南快三官方 —首页-.src = 'htt海南快三官方 —首页-://海南快三官方 —首页-ush.zhanzhang.baidu.com/海南快三官方 —首页-ush.js';};var s = document.getElementsByTagName("scri海南快三官方 —首页-t")[0];s.海南快三官方 —首页-arentNode.insertBefore(b海南快三官方 —首页-, s);})();$('.content').viewer();