zoukankan      html  css  js  c++  java
  • JAVA 并发编程(一、进程线程基本概念)

    1.进程
    程序由指令和数据组成,指令要运行,数据要读取,必须把指令读到CPU,在指令运行过程中要用到外部设备,网络等。进程就是用来加载指令的,管理内存,IO的
    当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程
    进程可以视为程序的一个实例,大部分程序可以同时运行多个进程实例。(windows上的各种软件,浏览器,画图),少部分只能运行一个(网易云音乐)

    2.线程
    一个进程之内可以分为多个线程
    一个线程就是一个指令流,将指令流的指令按顺序交给cpu运行
    java中,线程作为最小调度单位,进程作为资源分配的最小单位,在windows中进程是没有活动的,只是作为线程的容器。

    3.两者之间区别
    进程相互独立,线程在进程之中,是进程的子集。
    进程拥有共享的资源,供其内部线程共享
    进程间通信复杂
    通一台计算机内的进程通信为ipc
    不同计算机之间通信需要网络,并遵守一定的协议,比如http
    线程通信相对简单,因为共享进程内的内存,比如多个线程共享一个变量
    线程更轻量,线程上下文切换成本一般比进程上下文切换低。

  • 相关阅读:
    EF系列——DbContext 和DbSet
    EF中的实体关系
    EF中的持久化场景
    Sass
    js里==和===的区别 、sass与less的区别 、style,与class区别(精解版)
    HTML页面加载和解析流程 link与script标签
    DesktopNaotu 百度桌面脑图使用事项
    BootStrap4中使用图标
    Bootstrap4
    CDN文件
  • 原文地址:https://www.cnblogs.com/codeWorldCodeHeart/p/13675322.html
Copyright © 2011-2022 走看看