在我的应用程序中,我有一个工作线程,它围绕着做大量的处理。在处理过程中,它会将更新发送到使用信息更新 GUI 元素的主线程。这是用performSelectorOnMainThread
. 为简化代码,对这些更新没有限制,它们以高速率(每秒数百或数千)发送,并且waitUntilDone
是false
. 调用的方法只是获取变量并将其复制到视图控制器的私有成员。其中一些直接更新GUI(因为我很懒!)。每隔几秒钟,工作线程调用一次performSelectorOnMainThread
,waitUntilDone
设置为true
(这与保存当前计算批处理的输出有关)。
我的问题:这是安全使用performSelectorOnMainThread
吗?我问是因为我最近遇到了一个问题,即我的显示值停止更新,尽管后台线程继续工作而没有问题(并产生正确的输出)。由于它们以这种方式被馈送值,我想知道它是否可能达到了消息数量的限制。我已经检查了常见的问题(溢出、泄漏等),一切都很干净。但是,我无法重现该问题。