2

所有 UIKit 绘图或 AppKit 绘图都在主线程上完成是否有原因?

4

2 回答 2

5

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

想象一下,你有 10 个线程,每个线程都试图在屏幕上绘制和/或移动元素,这会产生不确定的错误和问题,这些问题很难处理和/或发现

还在这里阅读更多为什么大多数 UI 框架都是单线程的?

于 2012-06-08T11:37:19.830 回答
2

“因为多线程绘图很快变得太复杂/令人困惑”只是答案的一半。

多线程 UI 管理的另一个主要障碍是事件处理。具体来说,将事件处理混合到并发绘图中。您必须以某种方式将绘图与猴子在屏幕/键盘/鼠标上的混乱混合在一起,同时有效地保持事务完整性的概念。

如果没有并发,这已经很难了。

于 2012-06-08T14:43:56.583 回答