package main
import (
"sync"
)
type Queue struct {
head int
foot int
arr []interface{
}
lock *sync.Mutex
cap int
}
//NewQueue 新建一个队列
func NewQueue(length int) *Queue {
q := &Queue{
head: 0,// 包含此下表值
foot: 0,// 不包含此下标值
arr: make([]interface{
},length + 1),
lock: &sync.Mutex{
},
cap: length,
}
return q
}
//Add 入队
func (q *Queue) Add(val interface{
}) bool {
golang 使用切片实现环形队列(支持多协程)
最新推荐文章于 2023-06-20 14:43:21 发布
本文详细介绍了如何使用Golang的切片创建一个环形队列,并探讨了如何通过引入互斥锁来确保在多协程环境中的安全性。内容包括队列的基本操作、切片的应用以及并发控制策略。
摘要由CSDN通过智能技术生成