我一直在尝试使用渠道来构建某种生产者/消费者。我有一个requests
渠道,许多生产者推送请求,然后我有processRequests
处理请求的渠道。
package main
var requests chan string
func processRequests() {
for {
request <- requests
// Process request...
// And return response - how?
}
}
func main() {
requests = make(chan string)
go processRequests()
requests <- "doSomething"
requests <- "doSomethingElse"
requests <- "etc"
select {} // Block forever
}
我想知道的是,一旦请求得到满足,将响应发送回生产者(以及正确的,因为不止一个)的最佳方式是什么?基本上如何使它成为一个双向通道?
知道怎么做吗?