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

    1、单线程进程

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

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

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

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

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

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

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

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

    3、线程的特点。

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

         线程的执行时抢占式的。

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

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

    4、多线程的优点:

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

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

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

  • 相关阅读:
    Coursera 机器学习笔记(八)
    Coursera 机器学习笔记(七)
    Coursera 机器学习笔记(六)
    Coursera 机器学习笔记(五)
    Coursera 机器学习笔记(四)
    埃拉托斯特尼筛法
    Floyd判圈算法
    多数投票算法
    Coursera 机器学习笔记(三)
    Coursera 机器学习笔记(二)
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11359282.html
Copyright © 2011-2022 走看看