170 похожих чатов

Я прочитал невнимательно, но в одном случае контекст есть, в

другом - нет. Это как-то связано с задачей?

14 ответов

54 просмотра

Это моя реализация, и мне так удобнее убивать горутины. А в реализации без контекста, я не контролиру писателя (напрямую, только косвенно), значит должен удостовериться что писатель не пишет и тогда закрыть канал чтоб убить горутины.

вы привели код с контекстом для читателя, как он связан с тем как вы контролируете писателя?

Aleksey Kourbatov
вы привели код с контекстом для читателя, как он с...

Никак. У писателя (библиотеки) есть метод Usubscribe. И если все хорошо и тд и ТП он должен прекратить гнать данные

Aleksey Kourbatov
закройте канал

Канал должен закрывать писатель.

fenogentov Феногентов
Канал должен закрывать писатель.

мы уже выяснили что он этого не делает

fenogentov Феногентов
Канал должен закрывать писатель.

Ну так при вызове ансаб закрывайте канал

Геннадий-Ковалёв Автор вопроса
fenogentov Феногентов
Это моя реализация, и мне так удобнее убивать гору...

Ну а начальник-то что говорит на тему закрытия канала? Как он решать будет? Ну а что касается сугубо рационального подхода, то Вы правы. Как говорится, монопенисуально. Вот пример: https://godbolt.org/z/r8aoTMYjj В обоих вариантах вызывается одна и та же функция runtime.chanrecv2(). Обрабатывается чуть по разному, понятное дело, for и select разные словечки, но сути не меняет.

Геннадий Ковалёв
Ну а начальник-то что говорит на тему закрытия кан...

Начальник не решает, он говорит что должен сделать я)) "Теперь это моя проблема"

Геннадий-Ковалёв Автор вопроса
fenogentov Феногентов
Начальник не решает, он говорит что должен сделать...

Ну короче ответ на вопрос про сравнивание for и `select`кинул, одно и тоже. Что касается закрытия, всяких там паник и т.д. - это другой вопрос.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта