iOS 多线程基础知识(一)

1.什么是进程

进程是指在系统中正在运行的一个应用程序

每个进程之间都是相互独立的,每个进程均运行在其专用且受保护的内存空间内

2.什么是线程

一个进程想要执行任务,必须得有线程(至少有一条线程)

一个进程的所有任务都在线程中执行

一个线程中任务的执行是串行的(一个一个完成)

3.线程、进程的区别

线程是CPU调用(执行任务)的最小单位

进程是CPU分配资源和调度的单位

一个程序可以有多个进程,比如QQ程序,可以 command + n再开一个进程.

一个进程中可以有多个线程,但必须至少有一条线程

同一个进程内的线程共享进程的资源


前面介绍完以后,现在进入多线程

1.什么是多线程?

一个进程中可以开多个线程,每条线程可以同时(并行)执行不同任务.

2.多线程原理

在同一时间,单核情况下,CPU只会处理一条线程,其实就有一条线程在执行任务,只不过在几个任务之间快速(调度)切换,就造成了多个任务同时执行的假象.如果开的线程过多,就会造成CPU累死,消耗大量CPU资源(一般3-5条)

 3.多线程的优缺点

3.1 能适当提高程序的执行率

3.2 提高CPU资源的利用率

3.3 如果开启大量线程,会降低程序的性能

3.4 线程越多,CPU在调度线程上消耗的资源就越大

3.5 程序设计更加复杂:比如线程之间的通讯,多线程的数据共享

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,165评论 0 23
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 1,792评论 0 17
  • 前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要...
    嘟爷MD阅读 7,334评论 21 272
  • 昨天带宝宝在沙发上玩耍,玩了一会我和她说,宝宝你数到10我们就去洗澡了哈。然后她直接来了句:10!我和她爸爸相视大...
    巧虎小崔阅读 217评论 0 0
  • 前言 在开发中我们会遇到各种统计图,或者各种绘图,本文通过对基本三大统计图:折线图、柱状图、扇形图的实现来掌握基本...
    進无尽阅读 1,687评论 0 2