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

Привет У меня есть список который пополняется горутиной так же мне нужно

кушать данные оттуда если они есть другой горутиной и удалять их
как мне сделать проверку на наличие данных? я думаю что for {} с проверкой длинны слайса это как-то неправильно
возможно мне стоит использовать каналы

1 ответов

10 просмотров

Всё сильно зависит от применённых терминов: 1. Пополнять список горутиной вполне можно, обрамив действо блокировкой, но отправлять в канал для пополнения - правильнее; 2. Проверить есть ли данные в списке можно и через len() но полноценно только в той же самой горутине, что и принимает элементы из канала и пополняет список. 3. Кушать данные можно как из списка с блокировками напрямую, но лучше отправлять их в канал пожирателю. 4. Удалять .. аналогично. В итого вырисовывается от 2 до 4 горутин, в зависимости от пропущенных условий: Отправитель элементов списка через канал; Попрлнятель списка из канала, и он же отправитель в канал пожирателю; собственно Пожиратель с отправкой пожранного в канал удаления; Удалятель из списка. Вторая и последняя горутина могут быть объединены в одну. В этом разе, со списком работает одна горутина. В ряде кейсов сам список становится не нужным .. совсем.

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

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

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
10
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Карта сайта