我的 Cocoa 应用需要同时渲染多批生成的网页。由于 WebKit WebView 渲染仅限于主线程,我不能在应用程序的进程中使用 GCD 来执行此操作,因此我正在考虑使用某种进程间解决方案。
NSXPCConnection
是显而易见的选择,因为它与沙箱配合得很好,并且透明地代理了我需要使用的所有核心基础类型。但是,它似乎只为每个服务创建一个进程,这只是将我的主线程限制移动到另一个进程中,并且不允许我并行化多个渲染请求。有没有办法说服 XPC 系统为同一个服务分叉多个进程,可能使用 C API(xpc_connection_create
等)?
在这一点上,我正在考虑制作一打XPCServices
具有不同名称的相同捆绑包,并连接到对于特定批次的并行渲染请求空闲的捆绑包,但这似乎很愚蠢。