美文网首页
进程和线程的区别和联系及使用场景

进程和线程的区别和联系及使用场景

作者: heamon7 | 来源:发表于2017-08-27 14:19 被阅读116次

进程和线程的区别和联系及使用场景

进程

  • 进程是对应用程序提供的一种抽象,是 OS 分配资源(CPU、RAM、...)的最小单元,编程模型更容易,有更强的容错性(一个进程崩溃了不会影响其他进程),有内核保证的隔离(数据和错误),使用 master/woker 形式的多进程架构一般可以一定程度的自恢复。一般使用管道、信号量、共享内存、信号量等进行 IPC(Interprocess Communication)
  • 一般 Nginx/Redis 都属于 多进程模型

线程

  • 线程是运行在进程上下文中的逻辑流,是 CPU 使用的最小单元,并且有自己的线程上下文,不同线程共享同一进程的除栈之外的虚拟地址空间,比进程上下文更轻量级。创建速度更快,线程间切换的代价更低(不用切换地址空间,不用更改寄存器,不用刷新 TLB),方便数据共享。
  • 多在交互式、有响应优先级以及需要资源共享的程序中使用

一般使用的时候都是以进程池/线程池的形式来使用,不会有创建和销毁开销。一般能用多进程编程解决的问题不要用多线程

Ref:

相关文章

  • 进程和线程的区别和联系及使用场景

    进程和线程的区别和联系及使用场景 进程 进程是对应用程序提供的一种抽象,是 OS 分配资源(CPU、RAM、......

  • 面试题_ios(四)

    1.进程和线程的区别和联系 Progress和Thread,进程和线程是操作系统里的基本概念线程与进程的区别:线程...

  • Java集合List

    说下Vector、ArrayList、LinkedList联系和区别?使用场景? 答案:线程安全: ArrayLi...

  • 进程和线程的区别和联系?

    在网上看到了很多大神的解答,但是我觉得假如在面试中,这些解答如果需要背诵的话太多了,很容易忘记,所以我自己...

  • 线程和进程概念

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

  • JAVA进程和线程-day01

    A 进程 线程 线程和进程的区别 线程使用的场合 创建线程的方法 并发原理 使用Runnable创建并启动线程 线...

  • Java 多线程

    Java 多线程 基础 进程和线程 进程和线程的区别于联系 进程是操作系统分配资源的基本单位,进程拥有独立的内存等...

  • Python多线程编程——多线程基础介绍

    一、进程和线程的区别和联系 提到多线程编程,我们肯定要说一说线程和进程的关系。首先先说一下他们的官方定义: 进程(...

  • java面试3

    1. 进程与线程的区别? 进程和线程的关系: 进程与线程的区别: 2.struts2和springMVC的区别? ...

  • 多线程

    线程与进程的区别和联系? 线程是进程的最小基本单位。 进程和线程都是由操作系统所产生的程序运行的基本单元,系统利用...

网友评论

      本文标题:进程和线程的区别和联系及使用场景

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