Sobes.tech
Junior — Middle

Dart-da paralelizm və asinxronluq dəstəyi necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Dart-da paralelizm və asinxronluq dəstəyi bir neçə əsas mexanizm vasitəsilə həyata keçirilir:

  • Future — gələcəkdə mövcud olacaq asinxron əməliyyatın nəticəsini təmsil edən obyekt. async/await istifadə edərək asinxron kod yazmağa imkan verir.

  • async/await — Future ilə işləmək üçün sintaktik şəkər, sinxron kimi görünən asinxron kod yazmağa imkan verir.

  • Stream — gələn və yaşıyan hadisələr və ya məlumatların ardıcıllığı, onları dinləmək və işləmək mümkündür.

  • Isolates — öz yaddaşına malik olan ayrı icra axınları, paylaşılan vəziyyət olmadan paralel hesablamalar aparmağa imkan verir.

Future və async/await istifadə nümunəsi:

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  return 'Məlumatlar yükləndi';
}

void main() async {
  print('Yükləmə başlayır');
  String data = await fetchData();
  print(data);
}

Isolates ilə paralellik üçün, ayrı izolatorlar yaradılır və onlar mesajlar mübadiləsi edir, bu da çoxprosessorluq imkanlarından səmərəli istifadə etməyə və ip təhlükəsizliyi problemləri olmadan işləməyə imkan verir.