iOS开发多线程篇—线程间的通信
Cocoa为iOS线程间通信提供2种方式,1种是performSelector,另1种是Port。
先说第1种,performSelector,有以下几种:
第2种为NSMachPort方式。NSPort有3个子类,NSSocketPort、NSMessagePort、NSMachPort,但在iOS下只有NSMachPort可用。
使用的方式为接收线程中注册NSMachPort,在另外的线程中使用此port发送消息,则被注册线程会收到相应消息,然后最终在主线程里调用某个回调函数。
可以看到,使用NSMachPort的结果为调用了其它线程的1个函数,而这正是performSelector所做的事情,所以,NSMachPort是个鸡肋。线程间通信应该都通过performSelector来搞定。
线程间通信的表现:
1个线程传递数据给另1个线程
在1个线程中执行完特定任务后,转到另1个线程继续执行任务
下面是一个下载图片的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
分类: iOS开发多线程篇
绿色通道: 好文要顶 关注我 收藏该文与我联系
0
0
(请您对文章做出评价)
«上一篇:iOS开发多线程篇—线程安全 - 文顶顶
»下一篇:iOS开发多线程篇—GCD介绍 - 文顶顶
posted on 2015-05-03 19:08 iosblog‘s 阅读(7) 评论(0) 编辑 收藏
发表评论
昵称:
评论内容:
注销 订阅评论
[使用Ctrl+Enter键快速提交]
【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
融云,免费为你的App加入IM功能——让你的App“聊”起来!!
最新IT新闻:
· 聘用老程序员的4大原因
· 和阿里云成立合资企业的迪拜企业Meraas是什么来头?
· 国际空间站的迷你电脑长啥样?能运行多系统长得还挺漂亮
· Ubuntu进军物联网
· 联通举办5·17网购节 存1元送240元话费
» 更多新闻...
最新知识库文章:
· 说说领域驱动设计和贫血、失血、充血模型
· 贫血,充血模型的解释以及一些经验
· 如何避免软件工程中最昂贵错误的发生
· 面向服务体系和遗留系统
· 运维的本质——可视化
Powered by:
博客园
Copyright © iosblog‘s
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 | |||
10 | 11 | 12 | 13 | 14 | 15 | 16 | |||
17 | 18 | 19 | 20 | 21 | 22 | 23 | |||
24 | 25 | 26 | 27 | 28 | 29 | 30 | |||
31 | 1 | 2 | 3 | 4 | 5 | 6 |
导航
统计
- 随笔 - 111
- 文章 - 2
- 评论 - 0
- 引用 - 0
公告
搜索
常用链接
随笔分类
随笔档案
阅读排行榜
- 1. iOS开发网络篇—使用ASI框架进行文件下载(17)
- 2. iOS开发多线程篇—GCD介绍 - 文顶顶(11)
- 3. iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(一) - 文顶顶(10)
- 4. iOS开发UI篇—以微博界面为例使用纯代码自定义cell程序编码全过程(三·完结) - 文顶顶(10)
- 5. iOS开发网络篇—JSON数据的解析(10)
- 6. iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明(9)
- 7. iOS开发多线程篇—GCD的常见用法 - 文顶顶(9)
- 8. iOS开发多线程篇—线程的状态 - 文顶顶(9)
- 9. iOS开发多线程篇—线程安全 - 文顶顶(8)
- 10. iOS开发多线程篇—线程间的通信(7)