whileループがCPU使用率を90〜100%にするという奇妙な状況があります。 CPUはこのままです。 whileループをコメントアウトすると、CPUは正常のままです。なぜループが100%CPUを引き起こしているのですか
ここで何が問題になりますか?
私はブレークポイントを入れましたが、whileループは間違いなく終了します。
[self performSelectorInBackground:@selector(checkstate:) withObject:padid];
-(void)checkstate:(PadIDSIdentifier*)pids
{
int pid=0;
int cid=0;
pid=pids.padid;
cid=pids.channelid;
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc]init];
while (change==NO)
{
// wait for the condition I want
change=YES;
}
[pool release];
}
が完璧です。 NSTimerもうまくいくようです。私は懸念しているが、私は全体を理解していない "タイトループ"事を出ていない。 – dubbeat