2011-01-14 98 views

回答

11

一個新線程每次調用創建-performSelectorInBackground:withObject:

Threading Programming Guide

使用NSObject的生成一個線程

在iOS和Mac OS X的v10.5及其更高版本,所有對象都有能力產生一個新的線程並用它來執行他們的一個方法。 performSelectorInBackground:withObject:方法創建一個新的分離線程,並使用指定的方法作爲新線程的入口點。例如,如果你有一些對象(由變量MyObj中表示)和對象有一個名爲DoSomething的方法要在後臺線程中運行,你可以可以使用下面的代碼來做到這一點:

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

調用此方法的效果與將當前對象,選擇器和參數對象作爲參數調用detachNewThreadSelector:toTarget:withObject:NSThread的方法相同。新線程立即使用默認配置生成並開始運行。在選擇器內部,您必須像任何線程一樣配置線程。例如,你需要設置一個自動釋放池(如果你沒有使用垃圾收集)並且配置線程的運行循環,如果你打算使用它的話。有關如何配置新線程的信息,請參閱「配置線程屬性」。

+0

官方文檔通常非常有幫助。謝謝約拿。 – 2011-01-14 06:16:48

相關問題