dt_automate/method/zuduan.go

34 lines
698 B
Go
Raw Normal View History

2025-02-19 18:30:19 +08:00
package method
import (
"fmt"
)
// 定义一个阻断器通道
var blocker = make(chan struct{})
// 定义一个信号通道,用于中断阻断器
var interrupt = make(chan struct{})
// StartBlocker 启动阻断器
func StartBlocker() {
func() {
fmt.Println("阻断器启动,等待中断信号...")
for {
select {
case <-blocker: // 阻塞等待
fmt.Println("阻断器正在运行...")
case <-interrupt: // 接收到中断信号
fmt.Println("接收到中断信号,阻断器即将终止")
return // 退出阻断器
}
}
}()
}
// InterruptBlocker 发送中断信号
func InterruptBlocker() {
interrupt <- struct{}{}
fmt.Println("中断信号已发送")
}