Я хотел бы отправить объект обратно в основной поток из рабочего потока. Однако работают ли пулы автоматического выпуска между потоками? Что-то не так с кодом:
-(void)mainThreadReceiveResult:(id)response
{
[response retain];
/* Do some stuff with response */
[response release];
}
-(void)workerThreadDoWork
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
response * response = [[[response alloc] init] autorelease];
response->someData = [self getSomeData];
[delegate performSelectorOnMainThread:@selector(receiveResult:) withObject:response waitUntilDone:NO];
[pool release];
}
Кажется, работает нормально. Однако возможно ли, что рабочий поток достигнет [pool release]
, прежде чем основной поток сможет его сохранить?