美文网首页程序员iOS Developer
iOS 多线程基础知识(一)

iOS 多线程基础知识(一)

作者: Nbm | 来源:发表于2017-03-23 16:04 被阅读25次

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

相关文章

  • GeekBand - iOS 多线程和RunLoop 总结

    iOS 开发高级进阶 第三周 多线程 Runloop iOS 多线程以及 RunLoop 学习总结 基础知识 什么...

  • OC底层知识(十一) : 多线程

    一、简介:多线程在之前进行过一篇详细的基础博客 iOS多线程 二、多线程的基础知识回顾 1.1、iOS中的常见多线...

  • 轻松学iOS多线程之 GCD 的常用函数

    关于 iOS 多线程中 GCD 的基础知识已在上一篇文章中详细说明,请参看《轻松学iOS多线程之 GCD 的基本使...

  • iOS多线程知识(二) - NSThread

    iOS多线程知识(一)-基础知识 上篇中说到了多线程创建的四种方法,在iOS中使用较多的是后面三种方法。本篇将介绍...

  • 百度iOS面试总结

    原文链接 一面 1、iOS基础知识 2、Python基础知识,大概是多线程,线程安全,集合类,JVM,类相关知识等...

  • 百度iOS面试总结

    一面 1、iOS基础知识 2、Python基础知识,大概是多线程,线程安全,集合类,JVM,类相关知识等。 3、i...

  • iOS多线程的一些知识点

    讲述一些有关iOS中的多线程知识点,以及一些应用实例 一、多线程基础知识 多线程是一个比较轻量级的方法来实现单个应...

  • iOS多线程相关面试题

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • 多线程之--NSOperation

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • iOS多线程之--NSThread

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

网友评论

    本文标题:iOS 多线程基础知识(一)

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