0Pricing
Swift Academy · Ders

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 await edin.
  • Gösterimler için Task.sleep kullanı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

  1. Yapılandırılmış eşzamanlılık ve async işlevler
  2. async let, Task ve iptal
  3. try await ve hata yayılımı
← Swift Academy Sayfasına Dön