全部!我想在我的应用程序中创建多个线程。我'使用下面的代码来创建一个线程。 这种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