gpt4 book ai didi

iphone - PerformSelectorInBackground 是否为每次调用生成新线程?

转载 作者:行者123 更新时间:2023-12-03 19:30:46 26 4
gpt4 key购买 nike

performSelectorInBackground 是否为每个调用生成一个新线程,还是为所有调用(可能排队)共享一个线程(不是主线程)?

最佳答案

每次调用 -performSelectorInBackground:withObject: 都会创建一个新线程

来自Threading Programming Guide

Using NSObject to Spawn a Thread

In iOS and Mac OS X v10.5 and later, all objects have the ability to spawn a new thread and use it to execute one of their methods. The performSelectorInBackground:withObject: method creates a new detached thread and uses the specified method as the entry point for the new thread. For example, if you have some object (represented by the variable myObj) and that object has a method called doSomething that you want to run in a background thread, you could could use the following code to do that:

[myObj performSelectorInBackground:@selector(doSomething) withObject:nil];

The effect of calling this method is the same as if you called the detachNewThreadSelector:toTarget:withObject: method of NSThread with the current object, selector, and parameter object as parameters. The new thread is spawned immediately using the default configuration and begins running. Inside the selector, you must configure the thread just as you would any thread. For example, you would need to set up an autorelease pool (if you were not using garbage collection) and configure the thread’s run loop if you planned to use it. For information on how to configure new threads, see “Configuring Thread Attributes.”

关于iphone - PerformSelectorInBackground 是否为每次调用生成新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688118/

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