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

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

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

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

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

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

  • 相关阅读:
    生成函数代替伯努利数
    关于费用流
    GDOI注意事项
    计算几何 学习笔记
    jzoj5370
    图上的游戏
    小学生语文题
    arcane
    P2305 [NOI2014] 购票
    P3512 [POI2010]PIL-Pilots
  • 原文地址:https://www.cnblogs.com/qinjf/p/8196192.html
Copyright © 2011-2022 走看看