Junior — Middle
İşlem yürütme modları olan senkron ve asenkron arasındaki temel farkları açıklayın.
sobes.tech yapay zeka
AI'dan gelen yanıt
Senkron yürütme modu, sürecin veya ipin görevleri sıralı olarak gerçekleştirdiği ve her işlemin tamamlanmasını beklediği anlamına gelir. Bu modda, sonuç alınana kadar yürütme engellenir.
Asenkron mod, işlemleri tamamını beklemeden başlatmaya ve diğer görevleri yürütmeye izin verir. Asenkron işlemlerin sonuçları daha sonra, örneğin geri çağırmalar, sözler veya async/await kullanılarak işlenir.
Ana farklar:
- Engelleme: senkron kod, ipi engeller, asenkron engellemez.
- Performans: asenkron mod, giriş/çıkış işlemleriyle çalışırken daha etkilidir ve bekleme süresini azaltır.
- Karmaşıklık: asenkron kod, anlaması ve hata ayıklaması daha zordur.
Swift'te örnek:
// Senkron çağrı
func fetchData() -> Data {
// veriyi alana kadar ipi engeller
}
// Asenkron çağrı
func fetchDataAsync(completion: @escaping (Data) -> Void) {
DispatchQueue.global().async {
let data = ... // veri alma
DispatchQueue.main.async {
completion(data)
}
}
}
iOS'ta, asenkronluk genellikle ağ istekleri ve UI ile çalışma için kullanılır, böylece ana ip engellenmez.