跨进程携带截止日期和取消信号

时间:2018-04-22 08:56:13

标签: go

golang context文档说:

  

包上下文定义了Context类型,它带有截止日期,     取消信号以及跨API边界的其他请求范围值     和进程之间。

我还阅读了具体的examples上下文,但我在进程上看不到carring deadlines and cancellation signals的任何信息。

信号如何跨进程工作?

它们是否可靠,如果service1发送取消信号但它已经死亡,信号丢失,现在会发生什么?

1 个答案:

答案 0 :(得分:2)

很抱歉打破你的热情,但context包不能用于进程间通信和信令。

这里的措辞可能有点不完美,就像在" context" context包文档中大多数人会将"进程" 视为OS process实体。但是"过程"具有多种含义,并且更通用的"一组用于实现结果的交互活动" 含义(来自Wikipedia: Process)。为了避免含糊不清," goroutines" "一组goroutines" 在这里更合适,但在中相同的去申请。

请注意,当context软件包首次作为单独的实验软件包发布时(不作为标准库的一部分),此博客文章解释了其背景和用途:Go Concurrency Patterns: Context。自context整合到标准库以来declare var google: any; @Directive({ selector: 'my-comp', }) export class MyComp { constructor(private _gmap:GoogleMapsAPIWrapper){ _gmap.getMap().then((m: mapTypes.GoogleMap) => { console.log(google); }); } } 没有变化,该博客文章没有提及“#34;进程"”,甚至没有提及过一次。