Yapılandırılmış eşzamanlılık ve async işlevler
async işlevleri tanımlayın, bunları await ile çağırın ve yapılandırılmış eşzamanlılığı anlayın: alt görevler, üst kapsamdan çıkılmadan önce tamamlanır.
Yapılandırılmış eşzamanlılık ve async işlevler, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.
async/await neden kullanılır?
async/await, eşzamansız kodu eşzamanlı kod gibi okunacak şekilde yazmanızı sağlar. Yapılandırılmış eşzamanlılık sayesinde alt görevler kapsam yaşam sürelerine bağlıdır; sızıntı oluşmaz.
İlk async işleviniz
Bir async işlevi diğer eşzamansız işleri await edebilir. Çağırmak için betiklerde veya oyun alanlarında bir Task oluşturun.
// Simulate a short async delay, then return a value
func fetchNumber() async -> Int {
try? await Task.sleep(nanoseconds: 200_000_000) // ~200ms
return 42
}
// Call sites must use "await" from an async context or a Task
Task {
let n = await fetchNumber()
print("Fetched:", n) // 42
}Askıya alma, ardından devam etme
await, sonuç hazır olana kadar görevi askıya alır; ardından yürütme bir sonraki satırda sorunsuz biçimde devam eder.
func greet(after seconds: Double) async -> String {
let ns = UInt64(seconds * 1_000_000_000)
try? await Task.sleep(nanoseconds: ns)
return "Hello after \(Int(seconds))s"
}
Task {
print(await greet(after: 1.0))
print("Back on the same task after await.")
}async let temelleri
Alt görevleri başlatmak için async let kullanın. Bu görevler geçerli kapsama aittir ve kapsamdan çıkılmadan önce beklenmelidir.
// Run child tasks concurrently within the same scope
func fetchUser() async -> String { "Ana" }
func fetchScore() async -> Int { 90 }
Task {
async let name = fetchUser()
async let score = fetchScore()
// Both start immediately; await joins them before use
let summary = await "\(name): \(score)"
print(summary) // "Ana: 90"
// Scope ends -> child tasks are awaited automatically (structured)
}Üst görevler alt görevleri bekler
Yapılandırılmış ifadesi, üst görevlerin alt görevler tamamlanmadan bitiremeyeceği anlamına gelir. Bu, sahipsiz işleri önler ve yaşam sürelerini öngörülebilir hâle getirir.
// Parent Task encapsulates children lifetimes
func loadProfile() async -> String {
async let name = fetchUser()
async let score = fetchScore()
return await "\(name) (\(score))"
}
Task {
let profile = await loadProfile()
print(profile) // e.g., "Ana (90)"
// loadProfile does not return until its children are done
}Yönergeler
İpuçları:
- İş parçacıkları yerine görevler cinsinden düşünün.
- Kardeş işleri için async let kullanın; kapsamdan çıkmadan önce
awaitedin. - Gösterimler için
Task.sleepkullanın; gerçek uygulamalarda ağ/dosya G/Ç işlemlerini await edin.
await tanımı
Hızlı kontrol: await ne yapar?
Özet
Özet: İşlevleri async olarak işaretleyin ve await ile çağırın. Kardeş görevleri başlatmak için async let kullanın ve alt görevlerin üst görevlerden önce sona ermesi için yapılandırılmış eşzamanlılığa güvenin.
Sıkça Sorulan Sorular
“Yapılandırılmış eşzamanlılık ve async işlevler” dersi ücretsiz mi?
Evet — “Yapılandırılmış eşzamanlılık ve async işlevler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.
“Yapılandırılmış eşzamanlılık ve async işlevler” dersinde ne öğreneceğim?
async işlevleri tanımlayın, bunları await ile çağırın ve yapılandırılmış eşzamanlılığı anlayın: alt görevler, üst kapsamdan çıkılmadan önce tamamlanır. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Yapılandırılmış eşzamanlılık ve async işlevler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yapılandırılmış eşzamanlılık ve async işlevler
- async let, Task ve iptal
- try await ve hata yayılımı