Go

Channels

Channels, buffered ve unbuffered, close, select, channels üzerinde range, nil channels

22 mülakat soruları·
Junior
1

Go'da channel nedir?

Cevap

Channel, goroutine'ler arasında iletişim ve senkronizasyon sağlayan bir veri tipidir. Tipli bir kanal gibi davranarak değerlerin thread-safe şekilde gönderilip alınmasını sağlar. Belleği doğrudan paylaşmak yerine goroutine'ler arasında veri paylaşmak için channel kullanın.

2

Go'da tamsayılar için bir unbuffered channel nasıl oluşturulur?

Cevap

Unbuffered channel, kapasite belirtmeden make(chan T) ile oluşturulur. Bir alıcı hazır olana kadar göndericiyi bloklar ve katı bir senkronizasyon sağlar. Açık senkronizasyon gerektiren one-to-one iletişimler için unbuffered channel kullanın.

3

buffered ve unbuffered channel arasındaki temel fark nedir?

Cevap

Unbuffered channel, bir alıcı hazır olana kadar göndericiyi bloklar (katı senkronizasyon); buffered channel ise bloklamadan önce kapasitesine kadar değer depolayabilir. Buffered channel'lar goroutine'leri ayrıştırır ve bazı durumlarda performansı artırır, ancak eşzamanlılık sorunlarını gizleyebilir. Senkronizasyon için unbuffered, throughput için buffered kullanın.

4

10 elemanlık kapasiteye sahip bir buffered channel nasıl oluşturulur?

5

Bir channel'a nasıl değer gönderilir?

+19 mülakat soruları

Bir sonraki mülakatın için Go'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla