>>777
そのコードはちょっと違うだろ。
それだと、単純にinit...メソッドの引数に誤りがあった、という話になる。
チェックしたいのは本当にそこなのか?

NSThread* th = nil;
th = [[NSThread alloc]initWithTarget:self selector:@selector(threadFunc) object:nil];
[th start];
if ([th isExecuting]) {
// たぶん起動成功
}
else {
// たぶん起動失敗
}

あえてやるなら、こうじゃないのか?

で、結局のところいったい何を問題にしてるんだ?
1. スレッドは正常に処理を完了した。
2. スレッドは起動できなかった。
3. スレッドは起動できたが処理を完了できなかった。
この3つのケースで処理を分けたいのか?
それとも、
1. スレッドは正常に処理を完了した。
2. スレッドは正常に処理を完了できなかった。
この2つのケースで処理を分けたいのか?

もしも、後者ならスレッドの終了を確認しなければならない。
スレッドの起動を確認しても無意味だよ。