iOS 多线程(1)
来源:互联网 发布:提刀战js 编辑:程序博客网 时间:2024/05/30 05:17
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; //第一种线程的开启 [NSThread detachNewThreadSelector:@selector(newThread:) toTarget:self withObject:nil]; //第二种线程的开启 //创建线程对象 NSThread *newThread=[[NSThread alloc]initWithTarget:self selector:@selector(newThread2:) object:@"第二种"];// [NSThread sleepForTimeInterval:5];//线程休眠5秒 //开式多线程 [newThread start]; //第三种开启新线程 [self performSelectorInBackground:@selector(selfBackground:) withObject:nil]; return YES;}-(void)newThread:(NSThread *)thread{ NSLog(@"第一种:%s","add");}-(void)newThread2:(NSString *)str{ NSLog(@"第二种线程:%@",str);//打印传递的参数}-(void)selfBackground:(id)sender{ NSLog(@"第三种");}
三种情况每次运行,打印的顺序不一样
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; NSThread *newThread=[[NSThread alloc]initWithTarget:self selector:@selector(newThread2:) object:@"第二种"]; //开式多线程 [newThread start]; for (int i=0; i<100; i++) { NSLog(@"-主线程-%d",i); } return YES;}-(void)newThread2:(NSString *)str{ NSLog(@"第二种线程:%@",str);//打印传递的参数 for (int i=0; i<100; i++) { NSLog(@"--多线程--%d",i); }}