gofrs/flock

GitHub: gofrs/flock

Go 语言的线程安全文件锁库,通过简洁的 API 提供阻塞与非阻塞两种加锁方式,解决多进程或多协程并发访问同一文件时的互斥控制问题。

Stars: 747 | Forks: 80

# flock [![Go Reference](https://pkg.go.dev/badge/github.com/gofrs/flock.svg)](https://pkg.go.dev/github.com/gofrs/flock) [![License](https://img.shields.io/badge/license-BSD_3--Clause-brightgreen.svg?style=flat)](https://github.com/gofrs/flock/blob/main/LICENSE) [![Go Report Card](https://goreportcard.com/badge/github.com/gofrs/flock)](https://goreportcard.com/report/github.com/gofrs/flock) `flock` 实现了一个线程安全的文件锁。 它还包含一个非阻塞的 `TryLock()` 函数,允许在不阻塞执行的情况下进行锁定。 ## 安装 ``` go get -u github.com/gofrs/flock ``` ## 用法 ``` import "github.com/gofrs/flock" fileLock := flock.New("/var/lock/go-lock.lock") locked, err := fileLock.TryLock() if err != nil { // handle locking error } if locked { // do work fileLock.Unlock() } ``` 有关更详细的用法信息,请查看以下链接的包 API 文档: [GoDoc](https://pkg.go.dev/github.com/gofrs/flock)。 ## 许可证 `flock` 基于 BSD 3-Clause 许可证发布。有关更多详细信息,请参阅 [`LICENSE`](./LICENSE) 文件。 ## 项目历史 该项目最初为 `github.com/theckman/go-flock`,由原作者 [Tim Heckman ](https://github.com/theckman) 转让给了 Gofrs。
标签:EVTX分析, 日志审计