为什么在主线程上绘制UI?

所有的UIKit绘图或AppKit绘图都是在主线程上完成的吗?

“因为multithreading绘图很快变得太复杂/混乱”只是答案的一半。

multithreadingUIpipe理的另一个主要障碍是事件处理。 事件混合处理并发绘图,具体而言。 您必须以某种方式混合绘图和屏幕/键盘/鼠标的猴子混乱,同时有效地维护事务完整性的概念。

这已经很难,没有并发。

这是在单个线程上完成的所有GUI绘图的主要模式,访问用于添加元素和绘图的屏幕不是multithreading过程

想象一下,你有10个线程的情况下,他们每个人都试图绘制或移动屏幕上的元素,这将创build非确定性的错误和问题,这将是非常难以处理和/或find

另请阅读更多为什么大多数UI框架是单线程的?