进程与线程 阻塞与非阻塞

原创 2018年04月16日 20:22:34

进程:CPU执行任务的模块。线程:模块中的最小单元。

cpu比作我们每个人,到饭点吃饭了。可以点很多菜(cpu中的进程):宫保鸡丁,鱼香肉丝,酸辣土豆丝。每样菜具体包含了哪些内容(cpu每个进程中的线程):宫保鸡丁(详情:黄瓜、胡萝卜、鸡肉、花生米)。而详情构成了宫保鸡丁这道菜,吃了以后不饿。就可以干活了,cpu中的进程里的线程也是同理。当线程完成自己的内容将结果返回给进程,进程返回给cpu的时候。cpu就能处理日常需求。

  • 单进程单线程:一盘炒苦瓜,里面只有苦瓜。
  • 单进程多线程:一盘宫保鸡丁,里面有黄瓜、胡萝卜、鸡肉、花生米


阻塞与非阻塞

我要看足球比赛,但是妈妈叫我烧水,电视机在客厅,烧水要在厨房。家里有2个水壶,一个是普通的水壶,另一个是水开了会叫的那种水壶。我可以:

  1. 用普通的水壶烧,人在边上看着,水开了再去看球。(同步,阻塞)这个是常规做法,但是我看球不爽了。
  2. 用普通水壶烧,人去看球,隔几分钟去厨房看看。(同步,非阻塞)这个又大问题,万一在我离开的几分钟水开了,我就麻烦了。
  3. 用会叫的水壶,人在边上看着。(异步,阻塞)这个没有问题,但是我太傻了。
  4. 用会叫的水壶,人去看球,听见水壶叫了再去看。(异步,非阻塞)这个应该是最好的。

等着看球的我:阻塞

看着电视的我:非阻塞

普通水壶:同步

会叫的水壶:异步

所以,异步往往配合非阻塞,才能发挥出威力。

linux中阻塞和非阻塞的区别

所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。 所谓非阻塞方式non-block,就是进程或线程执...
  • u010076999
  • u010076999
  • 2015-12-16 11:08:11
  • 2547

阻塞线程与非阻塞线程

阻塞线程:A,B线程有一个公共的资源,比如说变量params,当A访问params时,给params加锁,而这时B要访问params时,它只有等待A释放params锁时,才可以访问;  非阻塞线程:...
  • kelindame
  • kelindame
  • 2015-04-01 20:06:05
  • 3890

Java多线程、同步异步及阻塞和非阻塞

1、进程和线程的概念 进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存) 线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源); 在java中,程序入...
  • visant
  • visant
  • 2018-03-28 01:42:30
  • 47

Linux设备驱动编程之阻塞与非阻塞

  • 2009年09月23日 06:57
  • 9KB
  • 下载

线程系统调用阻塞是否导致进程阻塞的问题

问题: 如果一个进程中的某一个线程调用了一个阻塞的系统调用函数后,那么该进程包括该进程中的其他所有线程也同时被阻塞 ? 关于这个问题。网上有些解答似乎比较混乱。回答这个问题,首先要简单了解一下线程模型...
  • zxc024000
  • zxc024000
  • 2018-01-04 16:21:45
  • 850

线程和进程/阻塞和挂起

曾多次迷惑于阻塞和挂起状态,后来才发现,有一些文章没有区别,把(阻塞、挂起、等待)等同了,这时看语境作者说的是哪个。自己加以分析区别。 先大概这样理解一下: 挂起:一般是主动的,由系统或程序发出,...
  • u012593344
  • u012593344
  • 2016-04-25 23:04:13
  • 9056

Node.JS阻塞与非阻塞

Node.js 回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用...
  • u011147065
  • u011147065
  • 2017-02-24 18:19:40
  • 750

Python基础(八)-系统编程之进程--multiprocessing(阻塞非阻塞)

进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。 协程和线程一样共享堆,不共...
  • tao3741
  • tao3741
  • 2017-08-06 09:26:03
  • 868

阻塞IO、非阻塞IO的区别

1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合。 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值。 2)实现(实线加小圆):对纯虚函数类(抽象类)的实现。 3)继承...
  • yyxyong
  • yyxyong
  • 2017-03-17 18:45:49
  • 6755

socket阻塞与非阻塞的区别

  • 2011年07月02日 10:19
  • 97KB
  • 下载
收藏助手
不良信息举报
您举报文章:进程与线程 阻塞与非阻塞
举报原因:
原因补充:

(最多只允许输入30个字)