Запитання з тегом «goroutine»

12
Як асинхронно викликати метод на Java
Нещодавно я переглядав goroutine Go і думав, що було б непогано мати щось подібне на Java. Наскільки я шукав поширений спосіб паралелізації виклику методу - це зробити щось на кшталт: final String x = "somethingelse"; new Thread(new Runnable() { public void run() { x.matches("something"); } }).start(); Це не дуже елегантно. …

3
Приклад для sync.WaitGroup правильний?
Чи є в цьому прикладі sync.WaitGroupправильним використання ? Це дає очікуваний результат, але я не впевнений у wg.Add(4)своїх позиціях та позиціях wg.Done(). Чи має сенс додати відразу чотири гороутини wg.Add()? http://play.golang.org/p/ecvYHiie0P package main import ( "fmt" "sync" "time" ) func dosomething(millisecs time.Duration, wg *sync.WaitGroup) { duration := millisecs * time.Millisecond …
108 go  goroutine 

5
Як чекати, коли всі goututines закінчать, не використовуючи час. Сплячий?
Цей код вибирає всі файли xml у тій самій папці, оскільки викликаний виконуваний файл і асинхронно застосовує обробку до кожного результату методом зворотного виклику (у прикладі нижче виводиться лише ім'я файлу). Як я можу не використовувати метод сну, щоб уникнути виходу основного методу? У мене проблеми з обгортанням голови навколо …

6
Як зупинити гороутин
У мене є програма, яка викликає метод і передає повернене значення на каналі: ch := make(chan int, 100) go func(){ for { ch <- do_stuff() } }() Як я зупиняю таку goroutine?
102 go  goroutine  channels 

4
Виловлювання повернутих значень із програмних програм
У наведеному нижче коді дається помилка компіляції, яка говорить "несподіваний вихід": x := go doSomething(arg) func doSomething(arg int) int{ ... return my_int_value } Я знаю, я можу отримати значення повернення, якщо нормально викликати функцію, не використовуючи goroutine. Або я можу використовувати канали тощо. Моє питання полягає в тому, чому неможливо …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.