Isolate 隔離運(yùn)行
import 'dart:async';
import 'dart:isolate';
/// 隔離處理函數(shù)
/// 頂級(jí)函數(shù)或類(lèi)的靜態(tài)方法
void handler(SendPort sendPort)
{
sendPort.send('I am Tom: '+sendPort.hashCode.toString());
}
void main()
{
var receivePort = ReceivePort();
var sendPort = receivePort.sendPort;
await Isolate.spawn<SendPort>(handler, sendPort);
sendPort.send('I am Gim!'+sendPort.hashCode.toString());
//方式一 事件流訂閱者
receivePort.listen((target){
print('Receive message: '+target.toString());
});
// 方式二 綁定處理函數(shù)
receivePort.forEach((target){
print('Receive message: '+target.toString());
});
// 方式三 流的方式讀取
await for(var target in receivePort) {
print('Receive message: '+target.toString());
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者