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