Chciałbym wysłać obiekt z powrotem do głównego wątku z wątku roboczego. Jednak pule z automatycznym wydaniem działają między wątkami? Czy jest coś nie tak z następującym kodem:Czy pule wielowątkowości i autoreasowania współpracują ze sobą w kakao?
-(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];
}
Wydaje się działać poprawnie. Czy możliwe jest jednak, że wątek roboczy dotarłby pod numer [pool release]
, zanim główny wątek będzie w stanie go zachować?
ok dzięki za wskazówkę –