2024-07-27 15:42:50 +08:00
|
|
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
|
2024-04-27 07:09:14 +08:00
|
|
|
|
|
|
|
|
package bfs
|
|
|
|
|
|
2024-05-11 09:23:54 +08:00
|
|
|
import "github.com/TeaOSLab/EdgeNode/internal/utils/zero"
|
2024-04-27 07:09:14 +08:00
|
|
|
|
2024-04-27 17:29:12 +08:00
|
|
|
// TODO 线程数可以根据硬盘数量动态调整?
|
|
|
|
|
var readThreadsLimiter = make(chan zero.Zero, 8)
|
|
|
|
|
var writeThreadsLimiter = make(chan zero.Zero, 8)
|
2024-04-27 07:09:14 +08:00
|
|
|
|
|
|
|
|
func AckReadThread() {
|
|
|
|
|
readThreadsLimiter <- zero.Zero{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func ReleaseReadThread() {
|
|
|
|
|
<-readThreadsLimiter
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func AckWriteThread() {
|
|
|
|
|
writeThreadsLimiter <- zero.Zero{}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func ReleaseWriteThread() {
|
|
|
|
|
<-writeThreadsLimiter
|
|
|
|
|
}
|