博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 线程间的通信
阅读量:7081 次
发布时间:2019-06-28

本文共 1562 字,大约阅读时间需要 5 分钟。

  hot3.png

iOS开发--线程间的通信主要分为两大类:

1.线程之间进行传值。

2.一个线程完成之后,转到另一个线程中继续执行。

直接上代码:

- (void)viewDidLoad {    [super viewDidLoad];        //    [self test1];//    [self test2];    [self setUpUI];    [self correspond];}/******线程间的通信*******//******在一个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信。*******//******线程间的通信主要体现在下面两个方面。*******//******1. 一个线程传递数据给另一个线程。*******//******2. 在一个线程中执行完特定任务后,转到另一个线程继续执行任务。*******/-(void)setUpUI{    UIImageView *iconView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, kScreenWidth, 100)];    iconView.backgroundColor = [UIColor clearColor];    [self.view addSubview:iconView];    self.iconView = iconView;}/******运用NSThread来展现*******/-(void)correspond{    /******在自线程中调用download方法下载图片*******/    [self performSelectorInBackground:@selector(download) withObject:nil];}-(void)download{    NSURL *url = [NSURL URLWithString:@"http://www.yoka.com/dna/pics/ba15ad3a/d3571b5e5e9ba95ea11.jpg"];    NSData *data = [NSData dataWithContentsOfURL:url];    UIImage *icon = [UIImage imageWithData:data];        /******NSThread版本*******/    /******一个线程传递数据给另一个线程*******///    [self.iconView performSelectorOnMainThread:@selector(setImage:) withObject:icon waitUntilDone:NO];        /******在一个线程中执行完特定任务后,转到另一个线程继续执行任务*******///    [self performSelectorOnMainThread:@selector(settingImage:) withObject:icon waitUntilDone:NO];        /******dispatch版本*******/    dispatch_async(dispatch_get_main_queue(), ^{        [self settingImage:icon];    });}-(void)settingImage:(UIImage *)image{    [self.iconView setImage:image];}

 

转载于:https://my.oschina.net/Atoman/blog/787302

你可能感兴趣的文章
unix编程之多进程编程
查看>>
R语言学习之聚类
查看>>
我的友情链接
查看>>
斯坦佛编程教程-Unix编程工具(三)
查看>>
DHCP和TFTP配置以及CentOS 7上的服务控制
查看>>
Python 5.5 使用枚举类
查看>>
cookie禁用后session id传值的问题
查看>>
android 动画AnimationSet 和 AnimatorSet
查看>>
Dharma勒索软件继续大肆传播,据称已有100多家希腊网站沦陷
查看>>
成为JavaGC专家(1)—深入浅出Java垃圾回收机制
查看>>
Linux学习笔记(十七) vim
查看>>
三十二、iptables filter表小案例、iptables nat表应用
查看>>
Linux第一周学习笔记(4)
查看>>
袋鼠云数据中台专栏2.0 | 数据中台之数据集成
查看>>
当P4遇见NAT64,UCloud如何快速从IPv4向IPv6演进?
查看>>
iOS少用的框架
查看>>
ups锂电池的优势
查看>>
关于程序员和***区别在哪里?
查看>>
tomcat启动报错Invalid character found in method name. HTTP method names must be tokens
查看>>
appium+python3.6
查看>>