• 牛客网Java刷题知识点之进程和线程的区别


      不多说,直接上干货!

    https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21079&query=&asc=true&order=&page=11

    线程与进程的区别归纳:

      a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

      b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

      c.调度和切换:线程上下文切换比进程上下文切换要快得多。

      d.在多线程OS中,进程不是一个可执行的实体。

      进程是运行中的程序,线程是进程的内部的一个执行序列。
      进程是资源分配的单元,线程是执行行单元。
      进程间切换代价大,线程间切换代价小。
      进程拥有资源多,线程拥有资源少。
      多个线程共享进程的资源。
     
     
      进程是资源分配单位,线程是cpu调度单位;跟cpu真正打交道的是线程;
      进程是运行时的程序,而线程是进程的执行序列;
      进程的上下文切换比线程慢得多;
      进程中包括多个线程,线程间共享进程资源
     
     
     


      1 、进程是执行着的程序,线程是进程内的一个执行序列。一个进程可以拥有多个线程。
      2 、进程是资源分配的最小单元,线程是执行调度的最小单元。进程拥有独立的资源,多个线程间共享这些资源。
      3、 进程间通信代价较大,线程间通信代价小。
     
     
     

      简单帮助记忆

      开个QQ,开了一个进程;开了迅雷,开了一个进程。

      在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。

      所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ
    的运行,那么这“多个工作”分别有一个线程。
      
      所以一个进程管着多个线程。
     
      进程是爹妈,管着众多的线程儿子。
     
     
  • 相关阅读:
    高速排序
    [小米] 并查集
    Mysql5.7新特性
    双链表删除/插入节点
    【LeetCode-面试算法经典-Java实现】【144-Binary Tree Preorder Traversal(二叉树非递归前序遍历)】
    Repractise基础篇:Web应用开发七日谈
    [leetcode] Palindrome Number(不使用额外空间)
    SpringFox 初体验
    用RegularJS开发小程序 — mpregular解析
    MySQL Group Replication数据安全性保障
  • 原文地址:https://www.cnblogs.com/zlslch/p/7416809.html
Copyright © 2020-2023  润新知