美文网首页
多线程介绍

多线程介绍

作者: 李潇南 | 来源:发表于2018-03-16 10:36 被阅读4次
一、进程与线程
  • 进程介绍
  1.进程是指在系统中正在运行的一个应用程序。
  2.每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间。
  3.比如同时打开QQ、Xcode,系统就会启动2个进程。
进程介绍图.png
  • 线程介绍
1.一个进程想要执行任务就必须有线程(1个进程至少有一条线程)。
2.线程是进程执行的基本单元,一个进程(程序)的所有任务都是在线程中执行的。
3.比如酷狗播放音乐、迅雷下载电影,都需要在线程中执行。
线程介绍图.png
  • 线程的串行
- 1个线程中任务的执行是串行的。
- 如果要在1个线程中执行多个任务,那么只能一个一个的按顺序执行这些任务。
- 也就是说在同一个时间内,1个线程只能执行一个任务。
- 比如在一个线程中下载3个文件(分别是文件A、文件B、文件C)
线程串行介绍图.png
二、多线程
  • 多线程介绍
-  1个进程可以开启多条线程,每条线程可以并行(同时)执行不同的任务。
-  进程 - >车间, 线程 - >车间工人
-  多线程可以提高程序执行效率
-  比如同时开启3条线程分别下载3个文件(分别是文件A、文件B、文件C)
多线程下载文件.png
  • 多线程原理
 1. 同一时间,CPU只能处理一条线程,只有一条线程在工作(执行)
 2.多线程并发(同时)执行,其实是CPU快速在多线程之间调度(切换)
 3.如果CPU调度线程时间足够快,就造成了多线程并发执行的假象
 4.思考:线程非常多的情况下,会出现什么情况?
 - CPU会在N条线程之间调度,CPU会累死,消耗大量的CPU资源
 - 每条线程被调度执行的频率会降低(线程的执行效率降低)

  • 多线程的优缺点

多线程优点:

1. 适当提高程序的执行效率
2. 能适当提高资源利用率(CPU、内存利用率)

多线程缺点

1.开启线程会占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量线程,会占用大量内存空间,降低程序性能
2.线程越多,CPU在调度线程上的开销就越大
3.程序设计更加复杂,比如:线程之间的通信,多线程之间的数据共享
  • 多线程在iOS开发中的应用
主线程: 一个iOS程序运行后,会默认开启一条线程,称为“主线程”或者“UI线程”
主线程主要作用:
- 显示\ 刷新UI界面
- 处理UI事件(比如点击事件、滚动事件、拖拽事件等)
  • 主线程的使用注意:
    别将比较耗时的操作放到主线程中
    耗时的操作会卡住主线程,严重影响UI流畅度,给用户一“卡”的坏体验

相关文章

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • Java面试问题——线程全面详解总结

    一、多线程是什么?为什么要用多线程? 介绍多线程之前要介绍线程,介绍线程则离不开进程。 首先进程 :是一个正在执行...

  • ios面试题

    runtime介绍 runLoop与多线程关系 多线程原理(GCD、NSOperation) AFNetworki...

  • 多线程之GCD

    线程、多线程 多线程存在的问题 为什么使用多线程? GCD GCD 的 API 介绍Dispatch QueueD...

  • iOS多线程04-NSOperation实践

    推荐文章 iOS多线程01-介绍iOS多线程02-NSThread实践iOS多线程03-GCD实践iOS多线程04...

  • 赶紧收藏!王者级别的Java多线程技术笔记,我java小菜鸡愿奉

    Java多线程技术概述 介绍多线程之前要介绍线程,介绍线程则离不开进程。 首先 , 进程 :是一个正在执行中的程序...

  • Java 多线程

    1 多线程 1.1 多线程介绍   学习多线程之前,我们先要了解几个关于多线程有关的概念。  进程:进程指正在运行...

  • 多线程介绍

    在iOS中队列分为以下几种: 串行队列:队列中的任务只会顺序执行;1dispatch_queue_t q = di...

  • 多线程介绍

    进程\线程 进程进程 是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用的且受保护的...

  • 多线程介绍

    介绍:进程指是正在运行的程序,也就是电脑或者手机上运行的应用。进程间互不干扰,2块不同的独立内存。线程是操作执行流...

网友评论

      本文标题:多线程介绍

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