码迷,mamicode.com
首页 > 编程语言 > 详细

多线程

时间:2016-03-02 18:14:58      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

 线程:是用来执行任务的,线程彻底执行完任务A才能去执行任务B。为了同时执行两个任务,产生了多线程。

 进程: 1.就是在操作系统中运行的程序。专业说,进程就是应用程序的执行实例。

         2.进程不能执行任务

         3.进程咋运行时创建的资源随着进程的终止而死亡。

     线程:执行完毕就会被销毁。分为:主线程和子线程

     主线程:当应用程序启动时自动创建和启动,通常用来处理用户的输入并相应各种事件和消息,主线程的终止就意味着改程序的结束

创建线程的方法:

//    1??第一种 手动开启

    NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(thread1:) object:@"thread1"];

//    开启线程

    [thread start];

**********注意:使用第一种方法时千万不要忘记手动开启线程***************

//    2??第二种 自动开启

    [NSThread detachNewThreadSelector:@selector(thread2:) toTarget:self withObject:@"thread2"];

    NSLog(@"%@",[NSThread currentThread]);

    

// [NSThread currentThread];获取当前的线程

    NSThread *Newthread = [NSThread currentThread];

    Newthread.name = @"1111111";

    NSLog(@"%@",Newthread);

    

// [NSThread isMainThread] 判断当前线程是否是主线程

   BOOL isMainThread = [NSThread isMainThread];

    NSLog(@"当前线程是否是主线程:%d",isMainThread);

 

// [NSThread isMultiThreaded] 判断当前线程是否是多线程

    BOOL isMoreThread = [NSThread isMultiThreaded];

    NSLog(@"是否是多线程:%d",isMoreThread);

//  setThreadPriority 设置线程的优先级:(0-1)

    [NSThread setThreadPriority:1.0];

//  sleepForTimeInterval  让线程休眠

    [NSThread sleepForTimeInterval:2];

//    返回到 主线程 waitUntilDone 设置为yes 意味着 UI更新完才会去做其他操作

    [self performSelectorOnMainThread:@selector(updateUI:) withObject:image waitUntilDone:YES];

}

最终创建线程的步骤:

 加载一张图片

 1.创建一个UIImageView,并放在父视图上

 2.创建一个子线程

 3.通过URL获取图片

 4.回到主线程

 5.在主线程更新UI

 

 ********加载多张图片********

 1.创建多个UIImageView,并放在父视图上

 2.创建多个子线程

 3.通过URL获取图片

 4.回到主线程

 5.在主线程更新UI

 

 

多线程

标签:

原文地址:http://www.cnblogs.com/dengfuqiang/p/5235851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!