我有一个基于代理的小型建模框架,作为项目的一部分正在编写。不同的代理都在自己的线程中运行,并且由一个supervisor类控制它们的生命周期。因此,supervisor类可以取消这些线程。我知道有一个
isCancelled
上的方法
NSThread
。使用它,以下习语可以接受吗
#import <Foundation/Foundation.h>
#import "BugThread.h"
#import "Bug.h"
@implementation BugThread
- (id) initWithBug: (Bug*) aBug {
if((self = [super init])) {
[bug autorelease];
bug = [aBug retain];
}
return self;
}
- (void) main {
GSRegisterCurrentThread();
while(![self isCancelled]) {
}
}