美文网首页
多线程的理解

多线程的理解

作者: Mr丶炎 | 来源:发表于2016-07-18 08:50 被阅读120次
  • 多线程我们这样看--> 多 - 线程
    理解线程之前我们要先理解进程

进程:
1、在系统中正在运行的一个应用程序
2、每个进程之间是独立的,有其受保护的内存空间

比如同时打开迅雷和Xcode


进程.png

线程
1、一个进程想要执行任务,必须得有线程(一个进程至少得有一条线程)
2、一个进程的所有任务都是在线程中执行

线程.png

如果要在线程中执行多个任务,那么只能一个一个按顺序执行,也就是说同一时间一个线程只能执行一个任务

线程的串行
1、一个线程中任务的执行时串行的

也可以认为线程是进程的一条执行路径


线程的串行.png

多线程

一个进程中可以开启多个线程,每个线程可以并行(同时)执行不同任务,这是一个假象。
多线程的原理
同一时间,CPU只能处理一条线程,只有一条线程在工作
多条线程同时执行,其实是CPU快速调度(切换)多条线程
如果CPU调度的时间非常快,那么就造成了多条线程并发执行的假象

线程的并行.png

多线程总结

  • 优点:
    • 能适当提高程序的执行效率
    • 能适当提高资源的利用率
  • 缺点
    • 创建线程是有开销的,iOS下主要成本包括内核数据结构,栈空间,主线程
    • 如果大量开启线程,会降低程序的性能
    • 线程越多,CPU在调度线程上的开销就越大
    • 程序设计更加复杂,比如线程之间的通信,多线程的数据共享

相关文章

  • 多线程系列

    --------------------多线程-------------------- 你理解的多线程? iOS中...

  • iOS进阶之多线程管理(GCD、RunLoop、pthread、

    深入理解RunLoopiOS多线程--彻底学会多线程之『GCD』iOS多线程--彻底学会多线程之『pthread、...

  • Android 性能优化:多线程

    前言Android 开发中多线程的必要性理解 Android 多线程MessageQueueLooperHandl...

  • 多线程

    多线程的理解[知乎专题多线程]([https://zhuanlan.zhihu.com/p/74338964]

  • 多线程

    1、你理解的多线程(什么是多线程、多线程的原理、多线程的优缺点)? 首先多线程就是在一个进程里面开启了多条线程同时...

  • 多线程的理解

    进程 维基百科:程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。若干进程有...

  • 多线程的理解

    目标 1:了解进程线程的基本概念 2:了解为什么要用Mutex之类的工具做锁来同步和保护资源。弄懂诸如racing...

  • 多线程的理解

    多线程我们这样看--> 多 - 线程理解线程之前我们要先理解进程 进程:1、在系统中正在运行的一个应用程序2、...

  • 多线程的理解

    一.概念 串行(Serial) 多个任务放在串行队列里执行,只能按顺序依次运行,前一个运行完成,下一个才能开始运行...

  • 第35节:Java面向对象中的多线程

    Java面向对象中的多线程 多线程 在Java面向对象中的多线程中,要理解多线程的知识点,首先要掌握什么是进程,什...

网友评论

      本文标题:多线程的理解

      本文链接:https://www.haomeiwen.com/subject/fgepjttx.html