Понимание NSRunLoop | VPROS.ru

Понимание NSRunLoop

Кто-нибудь может объяснить для чего это NSRunLoop? так как я знаю NSRunLoop это что-то связанное с NSThread да? Предположим, я создаю нить подобное

NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil]; [th start];  -(void) someMethod {     NSLog(@"operation"); } 

так что после этого поток завершает свое право работать? зачем использовать RunLoops или где использовать ? из Яблока документы я читал что-то, но не понятно для меня, поэтому, пожалуйста, объяснить так просто, как это возможно

One Reply to “Понимание NSRunLoop”

  1. Runloops немного как коробка где-то просто происходит.

    В основном в Runloop, вы идете для обработки некоторых событий, а затем вернуться. Или вернуть, если он не выполняет каких-либо событий, прежде чем тайм-аут нажмите. Вы можете сказать, как и аналогичный асинхронный NSURLConnections, обработка данных в фоновом режиме, не мешая вашей текущей петли и но в то же время вы требуете данные синхронно. Что можно сделать с помощью Runloop, которые делают удержание из асинхронного NSURLConnection и получения данных на время разговора. Вы можете использовать Runloop следующим образом :-

    NSDate *loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1]; while (YourBoolFlag && [[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate:loopUntil]) loopUntil = [NSDate dateWithTimeIntervalSinceNow:0.1]; 

    в этом Runloop он будет работать, пока вы не завершите некоторые ваши другие работы и набор YourBoolFlag на ложные.

    Аналогичным образом Вы можете использовать их в нити.

    Надеюсь, это поможет вам.

Comments are closed.