多线程
来源:互联网 发布: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
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- 多线程
- Objective-C Runtime 相关资料
- 选择HttpHandler还是HttpModule?
- 欢迎使用CSDN-markdown编辑器
- codeforces--623B Alice, Bob, Two Teams
- hadoop 读流程和写流程
- 多线程
- Android分辨率适配
- js 促销倒计时
- #include<bits/stdc++.h>
- 源码包与RPM包的区别
- 关于html标签语义化
- app测试测试点
- 任务调度开源框架Quartz动态添加、修改和删除定时任务
- C++第一次上机实验