多线程

来源:互联网 发布:java手动编译 编辑:程序博客网 时间:2024/06/09 23:26

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

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

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

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

           2.进程不能执行任务

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

创建线程的方法:

//    1⃣️第一种手动开启

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

//    开启线程

    [thread start];

//    2⃣️第二种自动开启

    [NSThreaddetachNewThreadSelector:@selector(thread2:)toTarget:selfwithObject:@"thread2"];

    NSLog(@"%@",[NSThreadcurrentThread]);

    

// [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





0 0
原创粉丝点击