gpt4 book ai didi

ios - 使用 "performSelectorOnMainThread"在 iOS 上进行上下文切换

转载 作者:行者123 更新时间:2023-11-29 04:49:19 24 4
gpt4 key购买 nike

我在 iOS 上遇到奇怪的线程问题。考虑一个像这样的简单方法:

- (BOOL)doSomething
{
[self doA];
[self doB];
}

此方法应该在主线程的上下文中运行。我需要从工作线程调用此方法。为此,我使用performSelectorOnMainThread。

如果我按照此处解释的进行所有操作。 doA`doB 之间可以发生上下文切换吗?

(我不这么认为,我只是想确保我的理解是正确的)

最佳答案

通过“上下文切换”,我假设您的意思是主线程切换到其他主线程事件(因为您始终可以随时切换到另一个工作线程)。

但是,主线程将在执行其他操作之前完成所有 doSomething 操作。

摘自performSelectorOnMainThread :

This method queues the message on the run loop of the main thread using the common run loop modes—that is, the modes associated with the NSRunLoopCommonModes constant. As part of its normal run loop processing, the main thread dequeues the message (assuming it is running in one of the common run loop modes) and invokes the desired method. Multiple calls to this method from the same thread cause the corresponding selectors to be queued and performed in the same same order in which the calls were made.

关于ios - 使用 "performSelectorOnMainThread"在 iOS 上进行上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9128183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com