是否有理由在主线程上完成所有UIKit绘图或AppKit绘图?
答案 0 :(得分:5)
这是在单个线程上完成的所有GUI绘图的主要模式, 访问用于添加元素和绘图的屏幕不是多线程进程
想象一下你有10个线程的情况,每个线程都试图在屏幕上绘制和/或移动元素,这会产生非确定性错误和难以处理和/或查找的问题
答案 1 :(得分:2)
“因为多线程绘图很快变得太复杂/混乱”只是答案的一半。
多线程UI管理的另一个主要障碍是事件处理。具体而言,将事件处理混合到并行绘图中。你不得不以某种方式将绘图混合在屏幕/键盘/鼠标上的混乱中,同时有效地维护了事务完整性的概念。
如果没有并发性,这已经很难了。