• 进程和线程之间的关系和区别 和 CPU牒


    流程具有一定独立功能的程序关于某个数据集合上的一次执行活动,进程是系统进行资源分配和调度的一个独立单位

    线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位。


    进程和线程的关系:

    (1)一个线程仅仅能属于一个进程,而一个进程能够有多个线程,但至少有一个线程。
    (2)资源分配给进程,同一进程的全部线程共享该进程的全部资源。
    (3)处理机分给线程。即真正在处理机上执行的是线程。


    (4)线程在运行过程中。须要协作同步。不同进程的线程间要利用消息通信的办法实现同步。


    进程与线程的差别:
    (1)调度:线程作为调度和分配的基本单位。进程作为拥有资源的基本单位
    (2)并发性:不仅进程之间能够并发运行,同一个进程的多个线程之间也可并发运行
    (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但能够訪问隶属于进程的资源.

    (4) 系统开销:在创建或撤消进程时,因为系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。可是进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,而线程仅仅是一个进程中的不同运行路径。线程有自己的堆栈和局部变量。但线程之间没有单独的地址空间。一个程死掉就等于全部的线程死掉,所以多进程的程序要比多线程的程序健壮。但在进程切换时,耗费资源较大。效率要差一些


    结论:

    (1)线程是进程的一部分

    (2)CPU调度的是线程

    (3)系统分配的资源的过程,资源不正确的线程分配

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    python
    ASCII码表
    maven使用阿里云maven库
    eclipse中使用maven的 maven install
    软件项目版本号的命名规则及格式
    win7局域网内共享文件夹及安全设置
    restful返回 json数据的JavaBean设计
    关于StringUtils类isEmpty、isNotEmpty、isBlank、isNotBlank针对null、空字符串和空白字符(如空格、制表符)的区别
    maven如何引入servlet-api和jsp-api
    NetBeans的(默认)快捷键
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4855670.html
Copyright © 2020-2023  润新知