程序员iOS Developer

iOS 多线程基础知识(一)

2017-03-23  本文已影响25人  Nbm

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 程序设计更加复杂:比如线程之间的通讯,多线程的数据共享

上一篇 下一篇

猜你喜欢

热点阅读