gring
使用场景:
这种数据结构在底层开发中用得比较多一些,如:并发锁控制、缓冲区控制。ring
的特点在于,其必须有固定的大小,当不停地往ring
中追加写数据时,如果数据大小超过容量大小,新值将会将旧值覆盖。
使用方式:
https://godoc.org/github.com/gogf/gf/container/gring
我们使用ring
来模拟一下:
以下示例为非并发安全场景。
执行后,输出结果为:
可以看到16
和是最后两个出队列的,因此Josephus将他的朋友与自己安排在第16
个与第31
个位置是安全的。