• 进程和线程的定义及区别


    什么是进程,什么是线程

    系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;

    每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。

    当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。


    关于进程的特性

    独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。

    动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;

    并发性:进程之间,交替着执行。


    线程,一个顺序执行流;

    它是进程的组成部分,一个进程可以有多个线程。


    关于线程的特性,或是它的优势

    1、进程之间不能共享内存,单线程之间共享内存非常的容易

    2、系统创建进程需要为该进程重新分配系统资源,但创建线程的代价很小。因此多线程的实现多任务并发比多进程实现并发的效率高

    3、Java语言内置多线程功能支持,而不是单纯的作为底层操作系统的调度方式


    总结:

    一个程序运行至少一个进程,一个进程里面至少包含一个线程,线程是进程的组成部分。

    线程相对于进程而言,很强大了,做到了资源的共享,资源的损耗降低,人为的手工控制程序的运行。

  • 相关阅读:
    微信 ios端config配置失败 android端正常
    vscode离线安装插件
    win7中vscode会黑屏或者终端空白,无法输入
    vue中使用svg图片
    a.download下载文件 ---跨域问题
    background 背景图片 --css3
    box-shadow
    兄弟伪类
    canvas画时钟
    轮播图--使用原生js的轮播图
  • 原文地址:https://www.cnblogs.com/blog4matto/p/5584829.html
Copyright © 2020-2023  润新知