Я хочу отправить объект обратно в основной поток из рабочей ветки. Однако работают ли пулы автоматического выпуска между потоками? Что-то не так в следующем коде:Работает ли многопоточность и пулы авторефератов в какао?
-(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]
, прежде чем основной поток сможет его сохранить?
ok спасибо за отзыв –