当前位置: 首页 > news >正文

网站开发规划书怎么写短视频seo排名加盟

网站开发规划书怎么写,短视频seo排名加盟,东莞做网站推广,wordpress和node.jsFlutter 作为一个跨平台的UI库,前面的Flutter 架构有涉及到,Flutter 架构中的运行的多个线程。那么最为一个Flutter开发者,我们如何创建线程呢 多线程 上述我们提及到了,架构层涉及的多线程问题。比如说 主线程, 平台线程&#x…

Flutter 作为一个跨平台的UI库,前面的Flutter 架构有涉及到,Flutter 架构中的运行的多个线程。那么最为一个Flutter开发者,我们如何创建线程呢

多线程

上述我们提及到了,架构层涉及的多线程问题。比如说 主线程, 平台线程GPU线程。本文讨论的及主线程,dart 运行在虚拟中的多线程问题。OK,言归正传。

线程模型

作为一个iOSer,我们在移动端开发的时候,会有多线程的应用场景。关于iOS中多线程我们会遇到线程同步的问题。比如说资源竞争,数据同步我们会引用到, 关于自旋互斥的面试问题也是考察比较多的。呢么flutter 的线程模型是啥呢。这里我们引入isolate

Isolate

flutter的线程是一个独立的Isolate, 每个Isolate 管理其属于自己的EventLoop (此处的设计思路和iOS中线程与RunLoop的关系是一样的)和JS的事件循环蕾丝,关于EventLoop事件循环后续会出文章解释,此处不提及。需要注意的是async 在没有创建新的Isolate时,还是会将事件推入主Isolate 的任务队列当中的。

Talk is cheap

言归正传,了解了flutter 中的线程模型。那我们如何创建新的Isolate。举个🌰,我们需要从文件中读取配置。在处理I/O费时操作的时候,我们一般会创建一个新的Isolate

dart Isolate 🌰
import 'dart:convert';
import 'dart:io';
import 'dart:isolate';void main(List<String> args) async {print("${Isolate.current.debugName}");final jsonData = await Isolate.run(_readAndParseJson);
}Future<Map<String, dynamic>> _readAndParseJson() async {final configuration = await File("configuration.json").readAsString();final jsonData = jsonDecode(configuration) as Map<String, dynamic>;print("${Isolate.current.debugName}");return jsonData;
}

输出结果如下

main
_RemoteRunner._remoteExecuteExited.
flutter🌰
import 'dart:convert';
import 'dart:io';
import 'dart:isolate';import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';void main() {runApp(const MainApp());
}class MainApp extends StatefulWidget {const MainApp({super.key});State<MainApp> createState() => _MainAppState();
}class _MainAppState extends State<MainApp> {String content = "内容占位符";void _updateContent() async {// Map<String, dynamic> configuration = await _readAndParseJson();print("${Isolate.current.debugName}");Map<String, dynamic> configuration = await _readAndParseJson();final name = configuration["name"];setState(() {content = name;});}Widget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: const Text("jeverson's eg"),),body: Center(child: Text(content,style: const TextStyle(color: Colors.black),)),floatingActionButton: FloatingActionButton(onPressed: _updateContent,child: const Icon(Icons.update),),),);}
}Future<Map<String, dynamic>> _readAndParseJson() async {final configuration = await rootBundle.loadString("lib/configuration.json");return compute((message) {print("${Isolate.current.debugName}");return jsonDecode(configuration) as Map<String, dynamic>;}, configuration);
}

ByTheWay

演示代码中我们使用的是dart,使用的是run, 在flutter 中我们使用compute 函数。

TODOIsolate间通信

http://www.ds6.com.cn/news/2706.html

相关文章:

  • 阜宁网站制作哪家好适合企业员工培训的课程
  • 建行网站登录seo企业站收录
  • 公司做网站做什么类型的网站好合肥网站推广公司排名
  • 西宁市城乡建设委员会网站产品软文案例
  • 产品列表型网站模板企业网站建设的目的
  • 哪里建设品牌网站软文网站
  • 海天建设集团有限公司网站烟台seo网络推广
  • 网站建设小工具网站首页面设计
  • 公司网站怎么做分录手机系统优化工具
  • 关键词优化排名平台关键词优化需要从哪些方面开展?
  • wordpress本地建站程序东莞seo优化
  • 微网站做的比较好网络seo招聘
  • 湘潭做网站价格品牌磐石网络win7优化极致性能
  • 福利站wordpressseo网络优化推广
  • 做彩票网站是违法的吗百度关键词排名批量查询
  • 杨凯做网站百度关键词推广怎么收费
  • 张家港网站制作建议谷歌搜索网页版入口
  • 手机自己做网站域名检测工具
  • 在线科技成都网站推广公司优化大师官方网站
  • 足球直播网站开发定制2023年火爆的新闻
  • 企业网站建设方案书范文网站是怎么优化推广的
  • wordpress新闻是哪个表windows优化大师如何卸载
  • 自己可以建个免费网站吗企业如何做网站
  • 网站建设服务器的选择方案长沙做网络推广公司的
  • 北京建设网站哪里好教你如何建立网站
  • 东凤镇做网站公司百度电脑版下载官方
  • 网站建设怎么做更好网络营销推广的5种方法
  • 盐山网站建设app线上推广是什么工作
  • 大连个人网站开发制作网站建设黄页在线免费
  • 做logo图标的网站seo站外推广有哪些