多线程

首先 线程分为:主线程和子线程 一个进程可以对应多个线程 但是同时只能执行一个任务  

一个操作系统可以对应多个进程,一个进程可以有多条线程,但至少有一个线程,同一个进程内的线程共享进程里的资源

线程:是用来执行任务的,线程彻底执行完任务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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值