0

如果应用程序异步执行代码块并在回调中通知完成状态,这些是否都在主线程(回调)上执行?

在此回调中处理 Core Graphics 绘图和文件操作的正确方法是什么?

我目前在回调中运行这些指令,但想触发一个线程来处理这些指令。

4

2 回答 2

0

如果你正在做任何 UI 绘图,那必须在主线程上。如果您现在让这些异步块在工作(表面上在并发调度队列中),为什么不在那里完成所有工作,当您有一个完成的产品要展示时,才在主块上返回消息。如果你的回调调用你类中的其他方法,处理并发最安全的方法是定义辅助对象——接受一些输入并产生输出的小对象。

创建助手,附加它需要的任何数据,在队列中的一个块中启动它,当它完成后,它在提取成品的主线程上返回消息,渲染它,然后删除助手对象。

于 2012-08-10T17:43:55.687 回答
0

我在 Core Graphics 方面没有太多经验,但我在积木方面做了很多工作。

在我看来,如果您的应用程序异步执行代码块(在新线程上),那么在主线程上进行回调或通知是一个好习惯。

于 2012-08-10T17:45:05.170 回答