一般 context 声明放在哪里合适
<p>有一个函数,要并发访问好几个数据库,返回时间不一样,就叫做 longTimeTask()吧,我想用 context 设置超时,现在试下了,context 声明放在 main 里面,就所有 goroutine 共享了,不符合我要求,如果这样是可以的:</p>
<pre><code> go func() {
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
longTimeTask(ctx)
}()
</code></pre>
<p>后面我发现这样也行:</p>
<pre><code>func longTimeTask(){
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
}
</code></pre>
<p>所以想问问哪种最合适</p>
收藏(0)
分享
相关标签:
注意:本文归作者所有,未经作者允许,不得转载
-
2022年11月13日 19:44
用入参显示声明就好
0
0