Dart - 并发(Concurrency)

Dart - 并发(Concurrency) 首页 / Dart入门教程 / Dart - 并发(Concurrency)

并发性是同时执行多个指令序列,它涉及同时执行多个任务。

Dart使用隔离作为并行进行工作的工具, dart:isolate 软件包是Dart的解决方案,用于获取单线程Dart代码并允许应用程序更多地利用可用的硬件。

无涯教程网

让我们举个示例来更好地理解这个概念。

import 'dart:isolate';  
void foo(var message){ 
   print('execution from foo ... the message is :${message}'); 
}  
void main(){ 
   Isolate.spawn(foo,'Hello!!'); 
   Isolate.spawn(foo,'Greetings!!'); 
   Isolate.spawn(foo,'Welcome!!'); 
   
   print('execution from main1'); 
   print('execution from main2'); 
   print('execution from main3'); 
}

两个函数(foo和main)不一定每次都以相同的顺序运行,无法保证何时执行 foo 和何时执行 main(),每次运行时,输出都会不同。

输出1

execution from main1 
execution from main2 
execution from main3 
execution from foo ... the message is :Hello!! 

输出2

链接:https://www.learnfk.comhttps://www.learnfk.com/dart-programming/dart-programming-concurrency.html

来源:LearnFk无涯教程网

execution from main1 
execution from main2 
execution from main3 
execution from foo ... the message is :Welcome!! 
execution from foo ... the message is :Hello!! 
execution from foo ... the message is :Greetings!! 

从输出中,我们可以得出结论,Dart代码可以从运行代码中产生新的 isolate ,如Java或C#代码可以启动新线程的方式。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

赵成的运维体系管理课 -〔赵成〕

iOS开发高手课 -〔戴铭〕

Flutter核心技术与实战 -〔陈航〕

分布式技术原理与算法解析 -〔聂鹏程〕

说透中台 -〔王健〕

性能工程高手课 -〔庄振运〕

如何讲好一堂课 -〔薛雨〕

超级访谈:对话张雪峰 -〔张雪峰〕

Serverless进阶实战课 -〔静远〕

好记忆不如烂笔头。留下您的足迹吧 :)