golang中往channel写入数据的时候,能不能指定从头部写入还是从尾部写入?

ddxx11223 · · 1826 次点击
这个,貌似仅仅chan实现不了,可以用队列。但是如果 仅仅失败 立即重试没必要还放进chan中,从chan中取出了,创建个goroutine处理好了。如果是稍后重试,放进chan中(题住的尾部) 恰好合适。
#8
更多评论
用2 个channel组合出来一个你的要求就好了 一个是优先被读取,常态是空的;一个是被正常的读取。 如果处理失败的化插入第一个就可以了。
#1
可是 你确定重试就会成功了?要是一直失败了 是不是就阻塞了? 阻塞了 内存是不是会暴涨? 。cpu会不会都浪费在重试上了,导致正常的请求没有时间处理?。。。 所以你这个前提就有问题?
#2