美文网首页
线程初步理解

线程初步理解

作者: 李十岁 | 来源:发表于2021-03-03 17:42 被阅读0次

一、线程与进程

进程是资源分配的最小单元,线程是CPU调度的基本单位。一个进程奔溃之后在保护模式下不会对其他进程产生影响,一个线程死掉会导致整个进程死掉。

1、一个程序至少有一个进程,一个进程至少有一个线程。

2、进程之间很难共享资源,同一个进程中不同的线程资源共享。

二、线程理解

线程分为同步和异步、队列分为串行、并行(并发)(OC中还有主队列、全局队列)。

总线程数<=CPU数量:并行运行

总线程数>CPU数:并发运行

并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。

并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。 

三、线程的几种方式

1、NSThread

· 建立线程简单快捷,可以直接操作线程对象

· 管理多个线程困难,因为要管理他的生命周期

· 平时很少使用常用到的是 [NSThread currentThread]获取当前线程。

2、GCD--Grand Central Dispatch

· 基于C语言的底层API

· 使用方便、灵活(常用)

3、NSOperation/NSOprationqueue

· 基于GCD实现的一套Objective-C 的API

· 面向对象的线程技术,使用时操作的是他的子类如: NSInvocationOperation, NSBlockOperation

· 比GCD更容易操作 如:限制最大并发数量、操作之间的依赖关系

相关文章

  • 线程初步理解

    一、线程与进程 进程是资源分配的最小单元,线程是CPU调度的基本单位。一个进程奔溃之后在保护模式下不会对其他进程产...

  • 初步理解线程池

    目录 1. 简介 2. 工作原理 2.1 核心参数 线程池中有6个核心参数,具体如下 上述6个参数的配置 决定了 ...

  • [mark] nodeJS 入门

    认识 v8 引擎 深入理解nodeJS单线程 浅析NodeJS单线程模型 nodejs 初步认知 存在一个主线程,...

  • C++11 线程初步理解

    标准库的扩充: 语言级线程支持 std::thread std::thread 用于创建一个执行的线程实例,所以它...

  • 2018-08-04(15.5)多线程

    python基础语法(15.5) 多线程 初步了解多线程 (个人理解)电脑的cpu一般情况下一次只能给一个进程提供...

  • Python里并发编程中的线程信息隔离

    初步认识信息隔离 信息隔离的意义何在 . 初步认识信息隔离 什么是信息隔离? 比如说,咱有两个线程,线程A里的变量...

  • aqs初步理解

    1.介绍 AQS,AbstractQueuedSynchronizer,即队列同步器。它是构建锁或者其他同步组件的...

  • 初步理解Crontab

    1.含义 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入...

  • Redux初步理解

    Redux笔记 参考理解 Redux 中文文档Redux 阮一峰 严格的单向数据流是Rduex设计核心。 Redu...

  • 初步理解Crontab

    含义 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备...

网友评论

      本文标题:线程初步理解

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