task 是一个 []string
Delete 是task安全的删除方法,同时还有Push等方法..
for{
select{
case <-chan:
return
case <-time.After(time.Second * 5):
if(len(task) > 0){
arr := make([]string,len(task))
copy(arr,task)
for k, v := range arr{
....
task.Delete(k)
}
}
}
}
这样运行一段时间,就报错task删除越界,
请问这段代码有什么问题?
Delete是怎么安全了..你锁加在哪里啊