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);    }}


原创粉丝点击