gring

    使用场景

    这种数据结构在底层开发中用得比较多一些,如:并发锁控制、缓冲区控制。ring的特点在于,其必须有固定的大小,当不停地往ring中追加写数据时,如果数据大小超过容量大小,新值将会将旧值覆盖。

    使用方式

    https://godoc.org/github.com/gogf/gf/container/gring

    我们使用ring来模拟一下:

    以下示例为非并发安全场景。

    执行后,输出结果为:

    可以看到16和是最后两个出队列的,因此Josephus将他的朋友与自己安排在第16个与第31个位置是安全的。