2011-05-25 261 views
1

嗨,大家好,一個線程在iPhone應用程序中殺死另一個線程(兩個線程都是主線程)?

==>在我的應用我已經使用三種不同線程代碼,其中之一是這裏的所有線程都是同一種
==>我在AppDelegate類 定義的兩個線程==>一個根視圖控制器 ==>所有線程具有不同的睡眠時間

我的問題是,沒有任何線程可能會被其他和調用時間一個線程殺死獲得受其他?

-(void)PostData 
{ 
NSAutoreleasePool *apool = [[NSAutoreleasePool alloc] init];// we are responsible for the memory pool 

while(TRUE) 
{  
    [self performSelectorOnMainThread:@selector(PostAllthedata) 
          withObject:nil 
         waitUntilDone:YES]; 
    [NSThread sleepForTimeInterval:150]; 

} 
[apool release]; 
} 

-(void)PostAllthedata 
{ 
PostSyncData *objPostSyncData=[[PostSyncData alloc]init]; 
[objPostSyncData release];  
} 

回答

0

在使用該方法的Apple reference documents- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait狀態

該方法從 同一線程引起相應 選擇器進行排隊和在相同的相同的順序來執行 多個呼叫其中撥打了 電話。

+0

實際上,在我的應用程序中,兩個線程在睡眠時間後被調用,但一個沒有調用,可能是什麼原因? – NIKHIL 2011-05-25 06:43:27

+1

如果兩個方法同時使用主線程,我認爲其中一個被添加到隊列 – visakh7 2011-05-25 06:58:47

+0

實際上它正在工作,因爲我已經減少了沒有得到invocked的胎面的睡眠時間,但是我找不到真正的原因背後的線程沒有被調用謝謝你回答 – NIKHIL 2011-05-25 07:02:08