лучше сделать?
Есть у меня API которое на POST запрос должно в горутине запускать воркер, кидать его в так называемый "пул" и чтобы он там крутился пока не умрёт или пока не придет еще один запрос в API на удаление
Вот такая вот штука
ну так просто прокидываем в worker горутину make(chan struct{}, 1) тот же канал пихаем в map[goroutineID]chan struct{} при вызове DELETE достаём по ID канал и пишем туда struct{}{} а в самой горутине слушаем/проверяем канал и return
что ты такое говоришь?! ну вот как так? что возвращает чтение из закрытого канала?
Только я не понял что возвращать да
из горутины что ни верни - все потеряется. поэтому функции, вызываемые через go, обычно ничего не возвращают
зачем закрытого то?
Я просто убиваю ее и я уверен что она умерла. Так?
возвращать в смысле return из функции
бро, вот скажи, зачем ты что-то собрался писать в канал?
чтоб остановить горутину, которая его прослушивает)
завершаешь функцию, и она завершается. defer отрабатывает, и все
а если его просто закрыть?
теоретически можно и просто закрыть
а практически? есть смысл туда что-то писать?
в общем закрываем канал и всё)
Обсуждают сегодня