0
我的程序中有一個線程。它由NSTimer運行。當我停止我的NSThread或NSTimer。它會阻止我的主題。但是當我再次想要在我的程序中運行該線程時,它顯示出我以前的線程不會停止。所以之前的線程和當前線程一起運行。我的程序如下。iphone - 線程不停止,爲什麼它運行在我的程序背景上。?
- (void) startTimer{
timerThread = [[NSThread alloc]
initWithTarget:self
selector:@selector(startTimerThread) object:nil];
[timerThread start];
}
-(void) startTimerThread{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSRunLoop* runLoop = [NSRunLoop currentRunLoop];
timer = [[NSTimer scheduledTimerWithTimeInterval: 2.0
target: self
selector: @selector(timerTick:)
userInfo: nil
repeats: YES] retain];
[runLoop run];
[pool release];
}
- (void)stopTimer{
[timer invalidate];
[timer release];
timer = nil;
}
- (void)timerTick:(NSTimer *)timer
{
NSLog(@"THik");
}
我我的程序有兩粒扣一個啓動線程另一個是停止線程。第一次運行和停止線程它正常工作。但第二次(停止線程後)當我再次想要運行線程時,它向我顯示,前一個線程不停止,兩個線程同時運行。請幫幫我。
如何停止一個線程,當我想再次運行它的線程與前一個運行一個新的線程沒有。
嘿現在你在這裏停止定時器不是線程。並且就線程而言,無論它們的方法體是什麼,都可以運行多個線程。即你可以有多個線程'startTimerThread' –
,哪些是你想在實際創建新的線程或只是運行前一個。? –