全部!我想在我的應用程序中創建多個線程。我'使用下面的代碼來創建一個線程。 這種buttonPress方法,其中我創建一個線程:如何在同一個類中創建多個線程?
- (void) threadButtonPressed:(UIButton *)sender {
threadStartButton.hidden = YES;
threadValueLabel.text = @"0";
threadProgressView.progress = 0.0;
[NSThread detachNewThreadSelector:@selector(startMethod) toTarget:self withObject:nil];
}
這,我打電話是爲了線程的方法:
- (void)startMethod {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(threadMethod) withObject:nil waitUntilDone:NO];
[pool release];
}
- (void)threadMethod {
float actual = [threadProgressView progress];
threadValueLabel.text = [NSString stringWithFormat:@"%.2f", actual];
if (actual < 1) {
threadProgressView.progress = actual + 0.01;
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];
}
else
threadStartButton.hidden = NO;
}
這個線程工作正常。 但是,當我嘗試在同一個類中使用相同方法創建另一個線程時,它會正確創建,但在方法「performSelectorOnMainThread」中,它不會執行該方法。任何人都可以幫我嗎?
你能描述你想要做什麼?這聽起來像是你試圖在不同線程的主線程上運行一個方法,這種方式擊敗了多線程的目的,你不覺得嗎?有一個理由要做到這一點,但從你的問題來看,你並不清楚你真的想要做什麼,所以請給我們提供更多的信息,以便我們提供幫助。 – 2009-12-24 18:43:52
請檢查我編輯的問題! – neha 2009-12-25 05:22:51
請讓我知道如果我做了多餘的事情。因爲我第一次嘗試這個。 – neha 2009-12-25 05:29:11