первый вопрос - да странно что народ забивает, куча патернов основанные на nil каналах - как правило реализация некой локальной стейт машины (удобненько), как я шутил когда собеседовал людей - паника при записи в канал, который nil,бывает не в рантайме, а у лиц не читавших документацию
Что-то никак не могу понять, почему в первом вопросе при чтении из канала a или b в select-e вдруг делается вывод, что канал закрыт. А если в него после этого кто-то продолжит писать?
Потому что этот сценарий не предполагает записи в каналы вообще ) это условно семафорные каналы, которые часто используются для синхронизации горутин, сигнализируя о том, что можно продолжить выполнение чего-то после ожидания.
четвертый вопрос - ну так се реализация ))) берем и просто убиваем ядро процессора ))), ну некий спин-лок да - но не замена мьютексу, если вдруг несколько таких мютексов залочить - то по производительности ох как ударит, обычный же мьютекс - парканет горутинки и все
По поводу racing condition. Как называется ситуация когда мы в main() горутине запускаем горутины которые выполняют какую-то работу даже не связанную с main() и если мы не дождёмся этимх горутин то они не выполнятся. И ничто никуда не пишет и нет общей памяти. То что вы описали больше похоже на data race подвид racing condition
@@itkrasavchik package main import "time" func main() { go runn() go runn() go runn() go runn() } func runn() { time.Sleep(5 * time.Second) } Это data race?
Есть ) ждал, кто первый найдет ;) но, пока другой канал не закрыт, цикл будет проваливаться в кейс закрытого канала, заставляя программу работать впустую
первый вопрос - да странно что народ забивает, куча патернов основанные на nil каналах - как правило реализация некой локальной стейт машины (удобненько), как я шутил когда собеседовал людей - паника при записи в канал, который nil,бывает не в рантайме, а у лиц не читавших документацию
Смешно )))
Кажется кто-то за мной подсматривает) только на прошлой неделе это делал с каналами))
😂😂😂 большой брат следит за тобой 😉
кто-то?)) да мы все тут под пиво вечерами собираемся и смотрим как ты шкодишь, шкодник :)
@@skosski-moski дык я днём такое шкодю, вечером всё прилично.
Доброе!
☀️👋
Спасибо
Что-то никак не могу понять, почему в первом вопросе при чтении из канала a или b в select-e вдруг делается вывод, что канал закрыт. А если в него после этого кто-то продолжит писать?
Потому что этот сценарий не предполагает записи в каналы вообще ) это условно семафорные каналы, которые часто используются для синхронизации горутин, сигнализируя о том, что можно продолжить выполнение чего-то после ожидания.
четвертый вопрос - ну так се реализация ))) берем и просто убиваем ядро процессора ))), ну некий спин-лок да - но не замена мьютексу, если вдруг несколько таких мютексов залочить - то по производительности ох как ударит, обычный же мьютекс - парканет горутинки и все
Тут скорее про принцип, чем про реализацию )
Все эти собесы на $10k - это какие-то крипто стартапы? Или есть и обычная коммерческая разработки за эту сумму?
Есть и обычная конечно. Там, где крипта - так и написано - крипта. В остальных ее нет.
По поводу racing condition. Как называется ситуация когда мы в main() горутине запускаем горутины которые выполняют какую-то работу даже не связанную с main() и если мы не дождёмся этимх горутин то они не выполнятся. И ничто никуда не пишет и нет общей памяти. То что вы описали больше похоже на data race подвид racing condition
Да, это data race, есть еще deadlock и livelock, например
@@itkrasavchik package main
import "time"
func main() {
go runn()
go runn()
go runn()
go runn()
}
func runn() {
time.Sleep(5 * time.Second)
}
Это data race?
тут вообще нет рейса, main выйдет и не будет ждать горутины.
А в первом вопросе разве нет рандомизации, почему там бесконечность?
Есть ) ждал, кто первый найдет ;) но, пока другой канал не закрыт, цикл будет проваливаться в кейс закрытого канала, заставляя программу работать впустую
А такой вопрос: если я тупой, но есть большое желание изучить Го и серверную разработку, то получится ли?
Возможно, если осилишь бесплатный курс по Го )
Если ты тупой, то нет. Ты чего ждал, что мы тебя будем утешать типа ты умный?
Как в текущих реалиях легализовать валютную удаленку?
Напиши мне в телегу.