您的位置:首页 > 其它

多线程

2016-03-02 17:24 281 查看
首先 线程分为:主线程和子线程 一个进程可以对应多个线程 但是同时只能执行一个任务  
一个操作系统可以对应多个进程,一个进程可以有多条线程,但至少有一个线程,同一个进程内的线程共享进程里的资源

线程:是用来执行任务的,线程彻底执行完任务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 = @"王龙";
    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];
  最后总结:

*
 加载一张图片
 1.创建一个UIImageView,并放在父视图上
 2.创建一个子线程
 3.通过URL获取图片
 4.回到主线程
 5.在主线程更新UI
 
 ********加载多张图片********
 1.创建多个UIImageView,并放在父视图上
 2.创建多个子线程
 3.通过URL获取图片
 4.回到主线程
 5.在主线程更新UI
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: