您的位置:首页 > 移动开发 > IOS开发

iOS解决多线程 线程阻塞问题

2015-10-21 18:21 369 查看
一:这样处理之后不会影响外部视图的展示,亲测可行

#import "ThreadSDK.h"

@interface ThreadSDK (){

BOOL threadDone;
}

@end

@implementation ThreadSDK

//测试接口
- (void)thread {

[self
performSelector:@selector(asynchronousSource)
withObject:nil
afterDelay:0];

NSLog(@"me");

threadDone =
NO;

do {

// Start the run loop but return after each source is handled.

SInt32 result =
CFRunLoopRunInMode(kCFRunLoopDefaultMode,
1, YES);

if ((result ==
kCFRunLoopRunStopped) || (result == kCFRunLoopRunFinished))

threadDone = YES;

}
while (!threadDone);

NSLog(@"me --- end");
}

//阻塞测试
- (void)asynchronousSource {

for (int i =
0; i < 5; i++) {

sleep(1);

NSLog(@"asynchronous input source run");
}

threadDone =
YES;
}

转自:http://www.cnblogs.com/jy578154186/archive/2013/02/26/2933974.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: