美文网首页
进程和线程

进程和线程

作者: Amy木婉清 | 来源:发表于2021-05-07 15:39 被阅读0次
进程和线程的区别:

进程:是一个程序的运行状态和资源占用(内存、CPU)的描述
线程:是进程的组成部分,一个进程可以有多个线程,每个线程去处理一个特定的子任务


image.png

线程是进程的一部分

进程的特点

1)独立性:不同的进程之间是独立的,相互之间资源不共享
(例:两个正在上课的教室有各自的财产,相互之间不共享)
2)动态性:进程在系统中不是静止不动的,而是在系统中一直活动的
3)并发性:多个进程可以在单个处理器上同时进行,且互不影响

线程的五种状态

1.创建状态:在生成线程对象,并没有调用该对象的start方法,这时线程处于创建状态
2.就绪状态:当调用了线程的start方法后,该线程就进入了就绪状态,但是此时线程调度还没有把该线程设置为当前线程,此时处于就绪状态。
在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。
3.运行状态:线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。
4.阻塞状态:线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞。
5.死亡状态:如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。


image.png
线程状态之间的调度运行关系
image.png
状态之间有对应的调度方法
线程的实现方式
image.png

建议使用实现接口的方式创建多线程
因为实现Runnable接口的方式,更加的符合面向对象,线程分为两部分,一部分线程对象,一部分线程任务

1.继承Thread类:线程对象和线程任务耦合在一起。一旦创建Thread类的子类对象,既是线程对象,有又有线程任务。
2.实现runnable接口:将线程任务单独分离出来封装成对象,类型就是Runnable接口类型。

总结:Runnable接口对线程对象和线程任务进行解耦。

相关文章

  • 线程和进程概念

    线程和进程 进程 线程 线程和进程的区别

  • 17_多线程

    =================线程和进程 =============进程 =============线程 ==...

  • OC-底层原理 23:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • iOS 多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • 线程

    线程和进程 进程 线程 线程和进程的区别 线程的好处和坏处 创建线程的方式一 线程中常用的方法 代码实例 创建线程...

  • iOS底层原理24:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程和进程 线程和进程的定义 线程 线程是进程的基...

  • 多线程

    线程和进程的概念: 进程:正在运行的应用就是一个进程线程:进程中执行每个任务的是线程 进程和线程的关系: 一个进程...

  • 面试复习——Android工程师之Java面试题

    1、进程和线程 地址空间和其他资源:进程间相互独立,进程中包括多个线程,线程间共享进程资源,某进程内的线程在其他进...

  • 多线程介绍

    线程和进程 线程和进程的定义 线程:线程是进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必...

  • 多线程编程GCD(基础知识)

    GCD 多线程编程 1.线程和进程 1.1 线程:线程是进程的基本单元,进程中所有要执行的任务,都在线程和进程中执...

网友评论

      本文标题:进程和线程

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