Go 语言优雅退出库 shutdown

码农软件 · 软件分类 · 常用工具包 · 2019-08-13 18:57:44

软件介绍

Go 语言在 1.7 版本中增加了 Context 库,优雅退出的实现有了一个统一的实现方式。

Go 语言 1.8 版本中 HTTP 服务使用 Context 实现了优雅退出。

使用此库可以方便地实现优雅退出:

    // Generate a new context
    ctx := NewContext()

    // Run service with this context
    go func(ctx context.Context) {
        if err := ExitWaitGroupAdd(ctx, 1); err != nil {
            return
        }
        defer ExitWaitGroupDone(ctx)

        otherEvent := make(chan struct{})
    FOR_LOOP:
        for {
            select {
            case <-ctx.Done():
                break FOR_LOOP
            case <-otherEvent:
                // ...
            }
        }

        // Some close processes
    }(ctx)

    // Wait interrupt signal
    sig := make(chan os.Signal)
    signal.Notify(sig, os.Interrupt)
    <-sig
    if err := Shutdown(ctx, time.Second*5); err != nil {
        log.Println("Shutdown error:", err)
        return
    }

本文地址:https://www.codercto.com/soft/d/12296.html

常用算法程序集

常用算法程序集

徐士良 编 / 清华大学 / 2004-1 / 48.00元

本书针对工程中常用的行之有效的算法而编写,其主要内容包括多项式的计算、复数运算、随机数的产生 、矩阵特征值与特征向量的计算、线性代数方程组的求解、非线性方程与方程组的求解、插值与逼近、数值积分、常微分方程组的求解、数学变换与滤波、特殊函数的计算、排序和查找。 书中所有的算法均用C语言描述,并存放在一张光盘上。 本书可供广大科研人员、工程技术人员以及管理工作者阅读使用,也......一起来看看 《常用算法程序集》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具