我们可以把任务分为计算密集型和IO密集型

计算密集型任务的特点是要进行大量的计算,消耗CPU资源,比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。这种计算密集型任务虽然也可以用多任务完成,但任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效的利用CPU,计算密集型任务同时进行的数量等于CPU的核心数。计算密集型任务主要消耗CPU资源,因此,代码运行效率至关重要,用python的适合多线程。

第二种任务的类型就是IO密集型,涉及到网络、磁盘IO的任务都是IO密集型任务,这类任务的特点是CPU消耗很少,任务的大部分时间都等待IO操作完成(因为IO的速度远远低于CPU的速度)。对于IO密集型任务,任务越多,CUP效率越高,但也有一个限度。常见的大部分任务都是IO密集型任务,比如WEB应用,这时候不需要Cpu做过多的计算,应当用多线程。

转载于:https://blog.51cto.com/adonislxf/1887031

进程VS线程---操作类型相关推荐

  1. (大集合)Linux进程和线程的基本编程、通讯和例程【杂记】

    Linux 进程 和 线程 的基本 编程.通讯 和 例程 注:[杂记]系列为日常网搜资料的堆砌而积累成之.如有错误恭谢指出.标识为"原创"其实不完全是,只是多引用再整理和加上自己的 ...

  2. Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)

    文章目录 1.线程的定义,进程和线程的关系 2.Linux下的线程 Linux原生线程库(pthread库pthread.h) 线程的优点 线程的私有数据 3.线程控制 ①创建线程(pthread_c ...

  3. 操作系统原理:进程与线程、进程生命周期、线程的类型

    一.进程定义 进程可以看成程序的执行过程,可以展示在当前时刻的执行状态.它是程序在一个数据集合上的一次动态执行的过程.这个数据集合通常包含存放可执行代码的代码段,存放初始化全局变量和初始化静态局部变量 ...

  4. cs寄存器 x86 特权模式_Windows操作系统管理进程和线程:内核模式和用户模式

    根据前面的介绍,NT内核会把操作系统的代码和数据映射到系统中所有进程的内核空间中.这样,每个进程内的应用程序代码便可以很方便地调用内核空间中的系统服务.这里的"很方便"有多层含义, ...

  5. 进程、线程、协程 关于进程、线程、协程,有非常详细和丰富的博客或者学习资源,我不在此做赘述,我大致在此介绍一下这几个东西。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。

    进程.线程.协程 关于进程.线程.协程,有非常详细和丰富的博客或者学习资源,我不在此做赘述,我大致在此介绍一下这几个东西. 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度. 线程 ...

  6. 4.QT中进程操作,线程操作

     QT中的线程操作 T19Process.pro SOURCES += \ main.cpp CONFIG += C++11 main.cpp #include <QCoreApplicat ...

  7. Linux进程与线程的区别 详细总结(面试经验总结)

    首先,简要了解一下进程和线程.对于操作系统而言,进程是核心之核心,整个现代操作系统的根本,就是以进程为单位在执行任务.系统的管理架构也是基于进程层面的.在按下电源键之后,计算机就开始了复杂的启动过程, ...

  8. 万字长文带你还原进程和线程

    来自:Java建设者 我们平常说的进程和线程更多的是基于编程语言的角度来说的,那么你真的了解什么是线程和进程吗?那么我们就从操作系统的角度来了解一下什么是进程和线程. 进程 操作系统中最核心的概念就是 ...

  9. Unix进程和线程管理及其异同

    Unix进程和线程管理及其异同 一,进程 1,什么是进程 在最初的单处理器系统中,系统中的多道程序按照一定规则切换而实现多任务处理,后来发现多个程序并发导致系统资源被共享,为了描述和管理程序对共享资源 ...

最新文章

  1. Ubuntu用户通过Folder Color修改文件夹颜色-让桌面更多彩
  2. 2109春第一次课程设计实验报告
  3. UVA 11478 Halum (差分约束)
  4. linux备份sqlserver数据库,Linux sqlServer数据库还原办法
  5. 计算机病毒的防治 教案,计算机病毒及防治教案
  6. eclipse不支持泛型_C++ 泛型编程(一)
  7. 聊聊高并发(三十一)解析java.util.concurrent各个组件(十三) 理解Exchanger交换器
  8. 技术人必看:15张图对比高效与瞎忙的区别!
  9. 前端都该懂的浏览器工作原理,你懂了吗?
  10. 背靠 Google 的 Go 语言,就不会失败?
  11. python中easygui有几种_Python 模块EasyGui详细介绍
  12. SQL Server 2016 完全卸载(安装)全教程
  13. 方寸间见万物灵机:我们在世界人工智能大会听到了哪些华为AI故事?
  14. RTMP协议分析-chunk格式
  15. 优动漫PAINT实用宝典(图层篇)——栅格图层
  16. page loading strategy
  17. 林轩田《机器学习基石》(九)—— Linear regression
  18. 输出这个整数对应的拼音
  19. React Hook之Effect Hook
  20. QLineEdit用正则限制文本框的输入内容+正则表达式语法

热门文章

  1. 【实战】颠覆银行基础架构的区块链
  2. 【安全牛学习笔记】手动漏洞挖掘(二)
  3. DES、AES、RSA等常用加密算法介绍与比较
  4. myeclipse ctrl + 鼠标单击 出现 source not found
  5. 谈谈我的跳槽感想,从日资企业到互联网的转变
  6. python之函数用法__getitem__()
  7. 安卓反编译揭秘,伪加密APK文件如何被破坏
  8. Microsoft Updater Application Block 1.2.1 核心设计(core design) [翻译]
  9. 安装报错_MySQL8.0安装后,报错ERROR 1045 (28000)
  10. androidpn的学习研究(八)androidpn 中业务类XmppIoHandler实现分析