Tôi đã viết một số mã mà sẽ URL đồng thời thăm dò mỗi 30 phút:nhiệm vụ bầu cử theo lịch trình tại Gò
func (obj * MyObj) Poll() {
for ;; {
for _, url := range obj.UrlList {
//Download the current contents of the URL and do something with it
}
time.Sleep(30 * time.Minute)
}
//Start the routine in another function
go obj.Poll()
Làm thế nào tôi có thể sau đó thêm vào obj.UrlList nơi khác trong mã và đảm bảo rằng thời gian tới các URL được thăm dò rằng UrlList trong goroutine thăm dò ý kiến cũng được cập nhật và như vậy cũng sẽ thăm dò ý kiến của URL mới?
Tôi hiểu rằng bộ nhớ được chia sẻ thông qua giao tiếp thay vì ngược lại trong Go và tôi đã điều tra các kênh tuy nhiên tôi không chắc chắn cách triển khai chúng trong ví dụ này.
Bạn có thể tìm thấy [this talk] (http://blog.golang.org/2013/05/advanced-go-concurrency-patterns.html) thú vị. – nemo