rwlock

package
v0.46.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Example

func Example()

Example 展示了 RWLock 的使用示例。 启动多个读者和一个写者,演示读写锁的行为。

Types

type RWLock

type RWLock struct {
	// contains filtered or unexported fields
}

RWLock 是一个写优先的写锁,允许多个读者同时访问,但写者需要独占访问。 它通过通道和互斥锁实现,支持高效的读写操作。

func NewRWLock

func NewRWLock() *RWLock

NewRWLock 创建一个新的 RWLock。 返回一个初始化的读写锁实例。

func (*RWLock) RLock

func (rwlock *RWLock) RLock()

RLock 获取读锁。 如果当前有写者正在访问,调用此方法的 goroutine 会阻塞。

func (*RWLock) RUnlock

func (rwlock *RWLock) RUnlock()

RUnlock 释放读锁。 如果这是最后一个读者,会通知等待的写者。

func (*RWLock) WLock

func (rw *RWLock) WLock()

WLock 获取写锁。 如果当前有读者或写者正在访问,调用此方法的 goroutine 会阻塞。

func (*RWLock) WUnlock

func (rw *RWLock) WUnlock()

WUnlock 释放写锁。 允许其他读者或写者继续访问。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL