5.2.1 后台任务执行 在Blender插件开发的世界里,后台任务执行不是一道可有可无的“甜点”,而是一道必须精准烹制的主菜——它直接决定着用户是否会在点击“开始渲染”后盯着冻结的UI屏息三秒、是否会在导入十万顶点模型时误以为软件已死、是否会在等待物理模拟完成时顺手关掉整个Blender。我们常把“多线程”挂在嘴边,仿佛只要 一扔,世界就自动并行了。但现实远比这残酷:Blender的Python API(尤其是 模块)天生排斥多线程调用;UI线程与计算线程之间横亘着一道由GIL、OpenGL上下文、数据所有权和内存一致性共同铸就的高墙;而用户对“进度可见、取消可控、不卡界面”的期待,又像一把悬在开发者头顶的达摩克利斯之剑——稍有不慎,便是体验崩塌。 所以,5.2.