выполнение двух методов параллельно - PullRequest
0 голосов
/ 01 декабря 2009

Я хочу выполнить два метода параллельно. что я должен сделать и как это возможно. Возможно ли использовать NSThread? если да то как? жду вашего отклика.

Танкаю тебя

Ответы [ 4 ]

2 голосов
/ 01 декабря 2009

Хотя вы можете сделать это с помощью NSOperation и NSThread, самый простой способ выполнения методов в фоновом режиме - это performSelectorInBackground:withObject: или performSelector:onThread:withObject:waitUntilDone:modes::

// execute method1 and method2 in parallel
[self performSelectorInBackground:@selector(method1) withObject:nil];
[self performSelectorInBackground:@selector(method2) withObject:nil];

Однако, я думаю, вам нужно создать новый NSAutoReleasePool для этих методов.

В общем, я бы рекомендовал прочитать Руководство по программированию потоков и Руководство по программированию параллелизма .

0 голосов
/ 01 декабря 2009

Это возможно с помощью NSThread, но я верю, что Apple пытается отвлечь людей от создания собственного управления потоками и перейти к идее отправки задач, которые могут выполняться одновременно друг с другом. В предыдущих постерах уже упоминались NSOperation и NSOperationQueue, поэтому я не буду повторять их ответы. Если кто-то заинтересован в получении дополнительной информации об этом, проверьте Руководство по программированию параллелизма iPhone в Центре разработчиков iPhone.

0 голосов
/ 01 декабря 2009

см: @interface NSObject (NSThreadPerformAdditions)

0 голосов
/ 01 декабря 2009

проверить NSOperation и NSOperationQueue. http://www.cimgf.com/2008/02/16/cocoa-tutorial-nsoperation-and-nsoperationqueue/ Это может сделать то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...