• 进程和线程的概念,区别(理论知识)


    进程和线程的概念,区别:

    什么是线程????
    首先,计算机所有指令的执行都是CPU运算,
    CPU有规则,线程是操作系统能调度的最小单位
    线程可以简单理解为一堆指令
    做每一件事背后都是CPU在运算,例如画图、qq这些应用软件寄生在操作系统上
    画图和qq是独立的软件,各自分一块独立的内存空间
    硬盘--内存--CPU 慢--快
    为了安全,画图软件的内存不能访问qq的内存
    但是,qq或画图有一个整体的东西暴露给操作系统,这个整体的东西就是进程,里面包含对各种资源的调用
    例如内存的管理,网卡的调用等,对各种资源管理的集合称为进程
    线程:是操作系统最小调度单位,是一串指令的集合
    进程:要操作CPU只能通过线程,所以必须要先创建一个线程,
    简单理解,进程就是一个屋子是各种资源的集合,屋子里面的人可以认为是线程
    一个进程要执行,至少需要一个线程
    同一个进程里的所有线程共享同一块内存空间
    进程里第一个启动的线程是主线程。
    新的线程是由主线程创建,新的线程可以再创建别的线程
    主线程和被创建的线程是独立平等关系。被创建之后他们就没有关系了
    启动一个线程比进程快。
    因为线程就是一堆指令,进程是一堆资源的集合
    运行起来后都是一样的

    进程与线程的区别:
    1、线程共享内存空间,进程的内存是独立的
    2、子线程和父线程之间共享进程的内存,数据是共享的,子进程和父进程克隆了一份内存,数据是独立的
    3、同一个进程的线程之间可以直接交流,如果两个进程想通信,必须通过一个中间代理来实现
    4、创建新线程很简单,创建新进程需要对其父进程进行一次克隆
    5、一个线程可以控制和操作同一进程里的其他线程。但是进程只能操作子进程
    6、对主线程的修改可能影响其他线程的行为,对父进程的修改不影响子进程
    7、删除线程不影响同一进程里的其他线程,如果kill父进程,子进程也跟着没了

  • 相关阅读:
    java自带线程池
    SQL 语句学习
    Eclipse 运行内存不足情况
    Eclipse的ant调用maven
    Elipse 无法启动问题(转)
    UI自动化测试实战之Select类实战(四)
    WebElement类方法实战(三)
    WebDriver浏览器属性详解(二)
    服务端测试之gRPC协议测试(一)
    服务端测试实战(一)
  • 原文地址:https://www.cnblogs.com/staff/p/9656904.html
Copyright © 2020-2023  润新知