创建一条线程还是比较简单的. 我要用的线程只是用来处理接收数据,不是用来处理ui上的动画的. [NSThread detachNewThreadSelector:@selector(threadOne) toTarget:self withObject:nil]; 为了保证线程中数据的同步,可以使用NSCondition来处理 - (void)threadOne{ NSLog(@"@@@ In thread 111111 start."); [_myCondition lock]; int n = rand()%5 + 1; NSLog(@"@@@ Thread 111111 Will sleep %d seconds ,now _threadCount is : %d",n,_threadCount); sleep(n); //[NSThread sleepForTimeInterval:n]; _threadCount ++ ; NSLog(@"@@@ Thread 111111 has sleep %d seconds ,now _threadCount is : %d",n,_threadCount); [_myCondition signal]; NSLog(@"@@@ Thread 1111111 has signaled ,now _threadCount is : %d",_threadCount); [_myCondition unlock]; NSLog(@"@@@ In thread one complete."); [NSThread exit]; return; }