• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS多线程简介-Swift版本3.多线程开发--RunLoop

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前面, 我们讲完了 NSOperation 的使用, 现在让我们来看看在 iOS 中得一些多线程开发的注意事项.


1.Run Loop

在 iOS 中, 它有一种运行机制, 叫做 Run Loop, 让我们来看看什么是 Run Loop

1.Run Loop提供了⼀种异步执⾏代码的机制,不能并⾏执⾏任务.
2.在朱队列中, Main Run Loop直接配合任务的执行, 负责处理 UI 事件, 计时器, 以及其他内核相关事件.
3.Run Loop的主要目的是保证程序执行的线程不会被系统终止.


2.Run Loop特点

1.当有事件发⽣时,Run Loop会根据具体的事件类型通知应⽤程序做出响应
2.当没有事件发生时,Run Loop会进⼊休眠状态,从⽽达到省电的⽬的
3.当事件再次发生时,Run Loop会被重新唤醒,处理事件

主线程和其他线程中的Run Loop
1.iOS程序的主线程默认已经配置好了Run Loop.
2.其他线程默认情况下没有设置Run Loop.

PS: ⼀般在开发中很少会主动创建RunLoop, ⽽通常会把事件添加到RunLoop中

示意图:


3.多线程的循环引用

如果self对象持有操作对象的引⽤,同时操作对象当中又直接访问了self时, 才会造成循环引⽤

单纯在操作对象中使用self不会造成循环引⽤

PS: 此时不能使用(weakSelf), 如果使用了 weakSelf, 那么线程就会在没有执行, 或者执行了一部分的时候直接退出.

PS: 由于 Swift 有非常严格的初始化方法, 并且取消了 OC 中的 dealloc方法, 所以这里就不用代码演示了, 大家只要知道在多线程循环引用中的一些注意事项就好了


好了, 这次就讲到这里, 下次我们继续~~~


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
21个高质量的Swift开源iOS App发布时间:2022-07-13
下一篇:
苹果Swift编程语言入门教程【中文版】发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap