gpt4 book ai didi

iPhone - 线程

转载 作者:行者123 更新时间:2023-12-03 20:47:41 25 4
gpt4 key购买 nike

使用这个有什么区别

[self performSelectorOnMainThread:@selector(doStuff:) 
withObject:myObject
waitUntilDone:YES];

而不是简单地

[self doStuff:myObject];

就CPU负载而言?或者还有什么其他优点吗?

谢谢。

最佳答案

[self performSelectorOnMainThread:@selector(doStuff:) 
withObject:myObject
waitUntilDone:YES];

这可以确保选择器通过将其添加到主运行循环而在主线程上执行。当您设置waitUntilDone:YES时,只要主运行循环需要执行选择器,您就会让当前线程空闲。在单线程环境中,这将使运行循环在您调用此函数后立即运行,在多线程环境中,主运行循环将在执行下一步后执行选择器。

在这两种情况下,您都会有很小的开销,因为选择器不会在调用函数后立即执行,而是在稍后的时刻 [self doStuff:myObject]; 执行选择器立即

关于iPhone - 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237978/

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