Pisałem jakiś kod, który będzie jednocześnie odpytywania adresów URL co 30 minut:Zaplanowane zadania odpytywania Przejdź
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()
Jak bym następnie dodać do obj.UrlList gdzie indziej w kodzie i upewnić się, że następnym razem, adresy URL są sondowane, że UrlList w Gromadzie ankiety również zostały zaktualizowane i jako takie będą również odpytywać nowy adres URL?
Rozumiem, że pamięć jest dzielona przez komunikowanie się, a nie odwrotnie w Go. Badałem kanały, ale nie jestem pewien, jak je zaimplementować w tym przykładzie.
Może Cię zainteresować [ta rozmowa] (http://blog.golang.org/2013/05/advanced-go-concurrency-patterns.html). – nemo