我正在从主线程派生一个隔离(第一个隔离),以便对后端进行网络调用,以获取大量数据并将其处理到本地DB中。
在这个过程中,当我从同一个主线程产生另一个隔离(第二个隔离)来执行另一个任务时。当第二个隔离通过SendPort向主线程发送数据时,一旦任务完成,它就会停止第一个隔离执行的任务。有什么需要帮忙的吗?
是否与接收端口有关,因为这两个隔离都是从主线程派生的,并且都将有一个端口到主线程以共享内存,关闭其中任何一个端口是否会导致其他端口也被关闭?
发布于 2021-08-31 05:39:16
您可以使用指向同一主ReceivePort的多个隔离,但每个隔离都需要有自己的ReceivePort。例如:
Isolate 1 ReceivePort -> Main ReceivePort <-隔离2个接收端口
但是您应该注意如何接收和保存Main Thread上的isolates端口。因为它们需要使用主ReceivePort发送。
我建议你查看插件easy_isolate,它提供了一种简单的方法来处理多个隔离,并提供了很好的解释文档。
https://stackoverflow.com/questions/68993142
复制相似问题