Sobes.tech
Junior — Middle

Dart'ta paralellik ve asenkronluk desteği nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Dart'ta paralelizm ve asenkronluk desteği, birkaç temel mekanizma aracılığıyla gerçekleştirilir:

  • Future — asenkron bir işlemin sonucunu temsil eden nesne, gelecekte erişilebilir olacak. async/await kullanarak asenkron kod yazmayı sağlar.

  • async/await — Future ile çalışmayı kolaylaştıran sözdizimi şekeri, senkron gibi görünen asenkron kod yazmaya olanak tanır.

  • Stream — geleneksel ve asenkron olaylar veya verilerin dizisi, dinlenebilir ve alınan gibi işlenebilir.

  • Isolates — kendi belleğine sahip ayrı yürütme akışları, paylaşılan durum olmadan paralel hesaplamalar yapmayı sağlar.

Future ve async/await kullanımı örneği:

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  return 'Veriler yüklendi';
}

void main() async {
  print('Yükleme başlıyor');
  String data = await fetchData();
  print(data);
}

Isolates kullanılarak paralellik, mesaj alışverişi yapan ayrı izolatlar oluşturularak, çok işlemciliğin verimli kullanılmasını sağlar ve thread güvenliği sorunları olmadan çalışır.