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/awaitkullanarak 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.