zoukankan      html  css  js  c++  java
  • Java-多线程第一篇多线程相关认识(1)

    1、单线程进程

        如果程序执行某行代码时遇到了阻塞,则程序将会停滞在该处。

    2、进程代表着一个程序,程序是静态的,进程是动态的程序。

         进程是系统进行资源分配和调度的一个独立单位。关于进程有如下3个特征:

           1》独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间。进程之间不能随意访问。

           2》动态性:程序是静态的指令集合,而进程是一个动态的指令集合。进程加了时间的观念。进程具有自己的生命周期和各种不同的状态。

           3》并发性:多个进程可以在单个处理器上并发执行,多个进程之间不会相互影响。

         并发性:同一时刻只能有一个指令执行,但多个进程指令被快速轮换执行,宏观上表现为多个进程同时执行。

         并行性:同一时刻,多条指令在多个处理器上同时执行。

    3、线程的特点。

         线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量,但不拥有系统资源,它与父进程的其他线程共享该进程所拥有的的全部资源。

         线程的执行时抢占式的。

         一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

         线程共享的环境包括:进程代码段、进程的公有数据等。

    4、多线程的优点:

         1》进程之间不能共享内存,但线程之间共享内存非常容易。

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

         3》Java语言内置了多线程功能支持,而不是单纯地作为底层操作,从而简化了Java多线程编程。

  • 相关阅读:
    概率与数学期望初步
    $Luogu$ $P4316$ 绿豆蛙的归宿(附期望 $dp$ 的设计总结)
    $Luogu$ $P4427$ $[BJOI2018]$ 求和
    $SP3978$ $DISQUERY$ $-$ $Distance$ $Query$
    最近公共祖先模板(未完待续)
    $Luogu$ $P3052$ $[USACO12MAR]$ 摩天大楼里的奶牛 $Cows$ $in$ $a$ $Skyscraper$
    $Luogu$ $P2622$ 关灯问题 $mathrm{II}$
    [转载] $CF633F$ 题解
    [转载] $Luogu$ $P3933$ 题解
    2020高考回忆录(随便写写
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11359282.html
Copyright © 2011-2022 走看看