Documentation ¶
Overview ¶
Package gring provides a concurrent-safe(alternative) ring(circular lists).
并发安全环.
Index ¶
- type Ring
- func (r *Ring) Cap() int
- func (r *Ring) Len() int
- func (r *Ring) Link(s *Ring) *Ring
- func (r *Ring) LockIteratorNext(f func(item *ring.Ring) bool)
- func (r *Ring) LockIteratorPrev(f func(item *ring.Ring) bool)
- func (r *Ring) Move(n int) *Ring
- func (r *Ring) Next() *Ring
- func (r *Ring) Prev() *Ring
- func (r *Ring) Put(value interface{}) *Ring
- func (r *Ring) RLockIteratorNext(f func(value interface{}) bool)
- func (r *Ring) RLockIteratorPrev(f func(value interface{}) bool)
- func (r *Ring) Set(value interface{}) *Ring
- func (r *Ring) SliceNext() []interface{}
- func (r *Ring) SlicePrev() []interface{}
- func (r *Ring) Unlink(n int) *Ring
- func (r *Ring) Val() interface{}
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ring ¶
type Ring struct {
// contains filtered or unexported fields
}
func (*Ring) Link ¶
连接两个环,两个环的大小和位置都有可能会发生改变。 1、链接将环r与环s连接,使得r.Next()成为s并返回r.Next()的原始值。r一定不能为空。 2、如果r和s指向同一个环,则链接它们会从环中移除r和s之间的元素。
删除的元素形成子环,结果是对该子环的引用(如果没有删除元素,结果仍然是r.Next()的原始值,而不是nil)。
3、如果r和s指向不同的环,则链接它们会创建一个单独的环,并在r之后插入s的元素。 结果指向插入后s的最后一个元素后面的元素。
func (*Ring) LockIteratorNext ¶
写锁遍历,往后写遍历,回调函数返回true表示继续遍历,否则退出遍历
func (*Ring) LockIteratorPrev ¶
写锁遍历,往前写遍历,回调函数返回true表示继续遍历,否则退出遍历
func (*Ring) RLockIteratorNext ¶
读锁遍历,往后只读遍历,回调函数返回true表示继续遍历,否则退出遍历
func (*Ring) RLockIteratorPrev ¶
读锁遍历,往前只读遍历,回调函数返回true表示继续遍历,否则退出遍历
Click to show internal directories.
Click to hide internal directories.