注意 isolate 开启的线程不能在类里面,不然就是主线程了
///发送guid
void startDownLoad(String guid) async {
ReceivePort receivePort = ReceivePort();
receivePort.listen((message) {
if(message is SendPort){
message.send(guid);
} else {
print("message=====$message");
}
});
await Isolate.spawn(dataLoader, receivePort.sendPort);
}
void dataLoader(SendPort sendPort) {
final receivePort2 = ReceivePort();
sendPort.send(receivePort2.sendPort);
receivePort2.listen((message) {
if (message is String) {
print("message=====$message");
if (message == 'send') {
sendPort.send("get");
}
}
});
}
dataLoader 必须是顶层函数
网友评论