[Flutter]Completer和compute
两者完全不一样。compute用于在flutter单线程中实现“多线程”,功能属于删减版的Isolate。用于传入参数得到结果返回。Isolate在此之上还可以用于多个“线程”在执行中进行通信等操作。
Completer是一个允诺机制,功能类似于Future方法的await操作,等待结束之后的下一步执行。他可以处理防抖,单独执行某一块异步任务(类似同步锁),lanbda方式回传参数变future处理(Chanel的桥接处理内部实现)等。
下面,可以通过例子来分别介绍一下。
一、compute
1.使用介绍,+代码示例
2.同步聊聊Isolate,以及他的多线程间的通信操作。
二、Completer
1.处理防抖(最小时间内的点击直接忽略)
2.排队单独执行某一个异步任务。
3.异步变同步