• iOS- 多线程技术的概述及优点


    1.概述                                  

    在iOS开发中:

    •耗时操作,例如网络图片、视频、歌曲、书籍等资源下载
    •游戏中的声音播放
     
    我们可以利用多线程:
    •充分发挥多核处理器的优势,并发(同时执行)执行任务让系统运行的更快、更流畅
     
    •一个运行的程序就是一个进程或者叫做一个任务
    •一个进程至少包含一个线程,线程是程序的执行流
    •iOS程序启动时,在创建一个进程的同时, 会开始运行一个线程,该线程被称为主线程
    •主线程是其他线程最终的父线程,所有界面的显示操作必须在主线程进行!!!
    •后台线程无法更新UI界面和响应用户点击事件
    •系统中的每一个进程都有自己独立的虚拟内存空间,而同一个进程中的多个线程则共用进程的内存空间
    每创建一个新的线程,都会消耗一定内存和CPU时间
    所以记得尽量不要开辟过多的线程,避免影响性能
    •当多个线程对同一个资源出现争夺的时候需要注意线程安全问题

    2.多线程的优势与注意点                          

    •优势
    –充分发挥多核处理器优势,将不同线程任务分配给不同的处理器,真正进入“并行运算”状态
    –将耗时、轮询或者并发需求高等任务分配到其他线程执行,并由主线程负责统一更新界面会使得应用程序更加流畅,用户体验更好
    –当硬件处理器的数量增加,程序会运行更快,而无需做任何调整
    •注意点
    –共享资源的“争夺”
    –多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了通过提高资源使用效率来提高系统的整体性能
    •线程使用不是无节制的
    –iOS中的主线程的堆栈大小是1M
    –从第二个线程开始都是512KB
    –这些数值不能通过编译器开关或线程API函数更改
    •只有主线程有直接修改UI的能力

                                                                 清澈Saup

  • 相关阅读:
    概述和HTTP请求 和 响应处理
    编写一个函数,在页面上输出一个N行M列的表格,表格内容填充1~100的随机数字
    js简介及js基本数据类型
    浅谈 Java线程状态转换及控制
    浅谈 Java多线程
    浅谈 ArrayList 及其扩容机制
    Java 中 static 的作用
    合并两个有序数组
    贪心算法——换酒问题
    查找——二分查找
  • 原文地址:https://www.cnblogs.com/qingche/p/3496157.html
Copyright © 2020-2023  润新知