zoukankan      html  css  js  c++  java
  • 01-线程(概念篇)

    打开任务管理器

    PID: 进程编号


    一、概念: 程 序 、进 程、线 程
     
    程 序: -存放在硬盘/磁盘上的可执行文件。 ( 数据结构 + 算法 = 程序 )
     
    进 程: -运行在内存中的程序。
    -即,每一个运行中的程序都是一个进程;
    -在这个进程的内部包含多个执行单元,而每个执行单元就是一个线程,而且每个进程中至少包含一个线程。
     
    多进程: -应 用: 目前主流的操作系统都是支持多进程。而每个进程里面又多支持多线程。
    -多进程的缺点: 进程是重量级的,新建进程对系统的资源消耗比较大;
    -多进程的优点: 提供多进程是为了让操作系统同时执行多个任务。
     
    线 程: -线程就是进程内部的程序流。
     
    多线程: - 应用: 以后的主流开发都采用多线程技术。
    - 优点: 线程是轻量级的,新建线程对系统的资源消耗比较小,通常会共享所在进程的资源。
     

    操作系统中采用 时间片轮转法 来保证多个进程 / 线程并发执行,所谓的并发就是 :宏观并行,微观串行
     
    Java虚拟机的多线程:是通过 线程流转切换并分配处理器执行时间 的方式来实现的。
     
    时间片轮转法: 比如cpu有1秒的执行时间,把1秒钟平分成100份。然后,给了3个线程各自一份,迅速来回切换。
     
    宏观并行,微观串行
    • 宏观上而言,同一个时间段上,3个线程都在工作;
    • 微观上而言,时间点上的某一时刻,Cpu只能给一个线程执行。
     
     
    在多任务操作系统中,表面上支持 进程并发执行。例如,可以一边听音乐,一边看小说。
    但,实际上 这些程序并不是同时执行的。
    因为CPU具备分时机制每个时间点只能执行一个程序,只不过由于CPU运行速度非常快,能够在极短的时间内在不同的进程之间进行切换,所以给人以 同时执行多个进程的感觉。
     
     

    二、多线程 技术
    1、概念:是指在软件 或者 硬件 上实现多个线程 并发执行的技术。
     
    2、优势
    具有多线程能力的计算机 因为有硬件支持而使其能够在同一时间执行多个线程,进而提升整体的处理性能。
      既能节省空间,系统资源。还能同时执行多个任务。


    重点注意:
    当一个Java程序启动时,就会产生一个进程。该进程会默认创建一个线程,称为 主线程。
    在主线程上会运行 main( )方法中的代码。
    代码按照顺序 依次调用的程序,称为 单线程程序。
    若希望程序中 ,实现多段程序代码 交替执行的效果,则需要创建多线程程序。
    多线程程序在运行时,每个线程之间都是独立的,它们可以并发执行,这里的并发是相对的,也就是 说看起来是同时执行的,而实际上和进程一样,也是由CPU轮流调度的。

     
     
    Java中只有 多线程 技术! 没有 多进程 技术。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    How to Install Tomcat
    使用Application_Error捕获站点错误并写日志
    安装 SQL Server2008 安装程序规则支持提示“重新启动计算机”失败
    历史执行Sql语句性能分析 CPU资源占用时间分析
    返回List的分页方法
    @@IDENTITY与SCOPE_IDENTITY()
    Debugging Failed Because Integrated Windows Authentication Is Not Enabled
    一般经验总结
    dom中实现全选复选框的实例。
    dom中表格的修改 增加行例
  • 原文地址:https://www.cnblogs.com/penguin1024/p/11762091.html
Copyright © 2011-2022 走看看