Несколько потоков в iphone - PullRequest
       1

Несколько потоков в iphone

0 голосов
/ 01 сентября 2010

как создать несколько потоков в iphone (в одном классе)

Пожалуйста, помогите мне с примером кода.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2010

Ссылка на класс NSThread

Пример запуска дочернего потока:

- (void)threadRun
{
  // One thread, one autorelease pool. as main thread's pool inside main.c
  NSAutoreleasePool *aPool = [[NSAuroreleasePool alloc] init];

  // do-job in thread here

  [aPool release];
}

- (void)performJobWithThread
{
    // Method 1:
    NSThread *aThread = [[NSThread alloc] initWithTarget:self 
                                          selector:@selector(threadRun)
                                          object:nil];

    [aThread start];

    /// Release aThread at some point avoid memory leak.

    // Method 2:
    [NSThread detachNewThreadSelector:@selector:@selector(threadRun)
                             toTarget:self
                             withObject:nil];
}

Перед использованием NSThread лучше прочитать Руководство по программированию потоков первый.Он расскажет вам об управлении памятью, взаимодействии с другим потоком, ... и т. Д.

NSOperation и NSOperationQueue хороши для проектирования многопоточности.Но я изучаю их сейчас и не могу говорить о них ясно.

0 голосов
/ 01 сентября 2010

Ознакомьтесь с документацией для NSThread, NSOperationQueue и различными performSelector... методами, определенными для NSObject.

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