zoukankan      html  css  js  c++  java
  • java进程和线程的区别

    什么是进程,什么是线程
    系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;
    每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。
    当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。

    关于进程的特性
    独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。
    动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;
    并发性:进程之间,交替着执行。

    线程,一个顺序执行流;
    它是进程的组成部分,一个进程可以有多个线程。

    关于线程的特性,或是它的优势
    1、进程之间不能共享内存,单线程之间共享内存非常的容易
    2、系统创建进程需要为该进程重新分配系统资源,但创建线程的代价很小。因此多线程的实现多任务并发比多进程实现并发的效率高
    3、Java语言内置多线程功能支持,而不是单纯的作为底层操作系统的调度方式

    总结:
    一个程序运行至少一个进程,一个进程里面至少包含一个线程,线程是进程的组成部分。
    线程相对于进程而言,很强大了,做到了资源的共享,资源的损耗降低,人为的手工控制程序的运行。

  • 相关阅读:
    Nginx反向代理Mysql
    Postgresql数据迁移
    Docker安装及配置
    jstack用法
    Centos7系统添加Windows字体
    Bash美化
    ERROR: new encoding (UTF8) is incompatible xxx
    Python selenium 自动化脚本打包成一个exe文件(转载 原文https://www.jb51.net/article/178430.htm)
    python -m pip install --upgrade pip 失败
    Warning: no saslprep library specified. Passwords will not be sanitized
  • 原文地址:https://www.cnblogs.com/qinjf/p/8196192.html
Copyright © 2011-2022 走看看