结构化并发是一个相对较新的概念,用于构造并发程序。它在例如Python、Java和斯威夫特中都有实现。
结构化并发的示例通常描述一个服务器应用程序,它必须同时接收或发出多个请求。
如下所示:
async with trio.open_nursery() as nursery:
nursery.start_soon(myfunc)
nursery.start_soon(anotherfunc)另一方面,GUI应用程序通常有一种不同的并发模式:有一个GUI线程,它永远不能阻塞很长时间。GUI线程可能生成并发运行并向GUI线程报告的后台作业。
GUI线程不能创建一个“托儿所”,并等待它所有相关的子任务完成。它具有执行GUI任务的be可用。
结构化并发的概念能应用于遵循这种模式的应用程序吗?那看起来怎么样?
发布于 2022-06-04 22:23:10
没有冲突。一个典型的GUI有一个消息循环,它从队列中接收消息,直到队列为空。任何工作线程都可以将结果发布到该队列,然后该队列将被GUI线程捕获和处理。
https://softwareengineering.stackexchange.com/questions/439053
复制相似问题