新闻中心> 文章详情

南京iOS培训分享iOS异步线程那点事儿

2016年06月14日

  大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。在此南京万和iOS培训就和大家分享一下iOS异步线程那点事儿。


  对于多核处理器,如果用户在UI线程中完成某个操作之后,其他后续操作在别的线程中继续执行,用户同样可以继续进行其他UI操作,与此同时前一个操作的后续任务可以分散到多个空闲CPU中继续执行(当然具体调度顺序要根据程序设计而定),及解决了线程阻塞又提高了运行效率。苹果从iPad2 开始使用双核A5处理器(iPhone中从iPhone 4S开始使用),A7中还加入了协处理器,如何充分发挥这些处理器的性能确实值得思考。


  异步线程请求最大数目是多少呢,为什么只能这么多?


  这个数量是跟cpu有关的,并发性取决于cpu核数,每个核只能同时处理一个任务。


  4核cpu理论上可以并发处理4个任务,如果按http来算就是4个请求,但是cpu是抢占式资源,所以一般来说并发量是要根据任务的耗时和cpu的繁忙度来计算4个左右只是个经验值你开10个短耗时的任务和几个长耗时任务的效率是不同的。有疑惑?请咨询南京万和iOS培训


  一般来说估算这个量的最大效率估算公示是cpu核数*2-1(这个是做淘宝的java团队压测得到的线程最优数,放在iOS上也多少适用),这个公式是当时对集群进行压测得到的结论。开启这个数量的线程可以最大化的榨干cpu。


  一般来说不超过这个量就好,线程不是起的越多越好,线程数是由cpu来决定的。


  想和兴趣相投的朋友们一起交流吗?那就来江苏万和计算机培训中心吧。而江苏万和作为南京专业的iOS培训中心,整合多年软件行业培训经验,汇集各大企业iOS开发商业项目的真实需求,联合Apple公司,推出了iOS应用开发课程,是职业教育行业iOS培训的不二之选!

上一篇下一篇
按时发顺丰

技术交流群

Java大数据交流群560819979    加入
Python技术交流群595083299    加入
Oracle技术交流群595119011    加入
Web前端技术交流群604697610    加入
Huawei技术交流群482919361    加入
Redhat技术交流群587875348    加入
UI设计技术交流群511649801    加入
Cisco技术交流群596886705    加入
IT运维技术交流群605888381    加入