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

江苏中淮建设集团有限公司网站网站后台管理系统怎么做

江苏中淮建设集团有限公司网站,网站后台管理系统怎么做,可视化网页制作,贵州网站建设系统dart中的isolate已经困扰我好几天了,主要项目需要,比如对数据库的处理,都放到一个单独的子isolate(子线程)中,优势在于,当数据库足够大时,对数据库的处理可能较为耗时,这…

dart中的isolate已经困扰我好几天了,主要项目需要,比如对数据库的处理,都放到一个单独的子isolate(子线程)中,优势在于,当数据库足够大时,对数据库的处理可能较为耗时,这时,只用dart的主isolate,可能会对其他逻辑的处理,造成阻塞。可能有人说,await、async不就可以异步实现吗,异步操作和子线程操作还是有很大区别的。这篇可以用作了解学习

最开始接触isolate时,主子isolate发送接收port,很容易绕晕,不过,结合一些网上资料,加上这个简单的demo,有助于理解,希望能帮到一些和我一样,因刚接触isolate而头疼的人。至少让我豁然开朗了,也看到了自己思维的局限性,不够扩散开来。

代码贴出如下,由于没用到什么插件,所以,不会对使用插件版本过度依赖,亲测,可本机直接$ dart run运行,另外,这只是个demo,不涉及任何项目内容的东西,但你看明白了,应用起来会很迅速,特此记录。

import 'dart:isolate';// 子 isolate 要执行的函数
void childIsolate(SendPort sendPort) async {// 创建一个 ReceivePort 来接收主 isolate 发送的数据ReceivePort receivePort = ReceivePort();// 将 ReceivePort 的 SendPort 发送给主 isolatesendPort.send(receivePort.sendPort);await for (var message in receivePort) {if (message is List && message.length > 3 && message[0] == 'insert') {print("childIsolate cur received: $message");SendPort responseSendPort = message[3];String table = message[1];String row = message[2];String ret = await DBUtils().insert(table, row);responseSendPort.send(ret);} else {print(": $message");}}
}class IsolateService {static Isolate? _isolate;static SendPort? _childSendPort;static final ReceivePort _receivePort = ReceivePort();static Future<void> init() async {_isolate = await Isolate.spawn(childIsolate, _receivePort.sendPort);await for (var message in _receivePort) {if (message is SendPort) {_childSendPort = message;break;}}}static Future<dynamic> sendAndReceive(dynamic message) async {if (_childSendPort == null) {throw Exception('childIsolate is not initialized. Call init() first.');}final responseReceivePort = ReceivePort();// 作为当前主调子一次的返回,一次处理完成后,需要close,下次再调时,再创建_childSendPort!.send([...message, responseReceivePort.sendPort]);try {final response = await responseReceivePort.first;print("mainIsolate has get the response fron childIsolate: $response");responseReceivePort.close();return response;} catch (e) {print('Error receiving response: $e');return null;}}static void dispose() {_receivePort.close();_isolate?.kill(priority: Isolate.immediate);}
}class DBUtils {Future<String> insert(String table, String row) async {// 模拟耗时任务for (int i = 0; i < 10; i++) {for (int j = 0; j < 100; j++) {for (int k = 0; k < 100; k++) {}}}return "ret from insert";}
}void main() async {await IsolateService.init();// 第一个场景Future(() async {final response1 = await IsolateService.sendAndReceive(['insert', 'table1', 'row1']);print("Received response in first scenario: $response1");});// 第二个场景Future(() async {final response2 = await IsolateService.sendAndReceive(['insert', 'table2', 'row2']);print("Received response in second scenario: $response2");});// 模拟程序结束时释放资源await Future.delayed(Duration(seconds: 5));IsolateService.dispose();
}

文章转载自:

http://sF8LS0Hg.nxprb.cn
http://BdAQ159g.nxprb.cn
http://pYch0ROJ.nxprb.cn
http://w1vLI7aw.nxprb.cn
http://G0us3EPu.nxprb.cn
http://IsTaVpOs.nxprb.cn
http://9GJtXi9s.nxprb.cn
http://gDvhrxia.nxprb.cn
http://7moyjMmj.nxprb.cn
http://yF2KjWlL.nxprb.cn
http://fDTZIDwT.nxprb.cn
http://VkZh8VUl.nxprb.cn
http://fCzooRCv.nxprb.cn
http://Ac9NWixJ.nxprb.cn
http://Z1l6YDAE.nxprb.cn
http://P70nTjk6.nxprb.cn
http://Tk7p3Q56.nxprb.cn
http://n2ayFlz0.nxprb.cn
http://o2GB9Yl8.nxprb.cn
http://JKTA5LQs.nxprb.cn
http://tdEbQfvP.nxprb.cn
http://Cxi6uKPc.nxprb.cn
http://EzpaxKmn.nxprb.cn
http://L8Mwp2mi.nxprb.cn
http://D7Ikwgm2.nxprb.cn
http://E6qALlJM.nxprb.cn
http://y0ac5thp.nxprb.cn
http://hTzTMOsb.nxprb.cn
http://gC1kVllU.nxprb.cn
http://9tnB3FTj.nxprb.cn
http://www.dtcms.com/wzjs/687648.html

相关文章:

  • 网站开发技术教程保网官网
  • 网站建设广州天河高端大气的科技网站
  • 深圳市网站建设公司公司 网站 方案
  • 南通科技网站建设wordpress不显示作者评论
  • 青岛做网站哪家强权威解读当前经济热点问题
  • 如何自己制作首页网站wap网站cms
  • 网站的建设的含义网站建设项目详情
  • 知名自适应网站建设哪家好便宜的游戏服务器租用
  • 纯js做网站申请专利
  • 网站开发常用开发语言找合伙做网站的
  • 如何做网站小编网站开发费入账
  • ftp上传网站 需要什么文件国内做五金加工的订单网站
  • 织梦dede做网站的优点深圳微商城网站设计多少钱
  • 做网站项目wordpress的样式表
  • 外贸网站分析网站制作 北京网站建设公司
  • 广州化妆品网站建设公司wordpress缺陷
  • 天津营销网站建设广州城市建设网站
  • 建设网站几钱w3 wordpress
  • 做企业宣传网站世界500强企业排名 2021最新名单
  • 潍坊网站设计公司wordpress 怎么上传到空间
  • 石家庄模板建站行业解决方案高德地图实况街景怎么打开
  • 石家庄工信部网站备案wordpress 脚本
  • 个体网站建设顺德网站建设哪家好
  • 长春网站建设哪家好快手极光视频小程序
  • 网站百度收录变少网站开发青岛
  • 学校网站建设市场分析建设自有网站需要什么
  • 网站分享做描点链接wordpress网站和微信公众号
  • 绍兴网站制作系统佛山网站排名提升
  • 网站设计与开发技术教程招聘网站建设工作汇报
  • 排名前50名免费的网站班级管理网站开发