zoukankan      html  css  js  c++  java
  • java学习笔记 --- 多线程(1)

    1:要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在。

    2:什么是进程?
     通过任务管理器我们就看到了进程的存在。
     而通过观察,我们发现只有运行的程序才会出现进程。
     进程:就是正在运行的程序。
     进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。
     
    3:多进程有什么意义呢?
     单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。
     举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。
     也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。
     并且呢,可以提高CPU的使用率。
     
     问题:
      一边玩游戏,一边听音乐是同时进行的吗?
      不是。因为单CPU在某一个时间点上只能做一件事情。
      而我们在玩游戏,或者听音乐的时候,是CPU在做着程序间的高效切换让我们觉得是同时进行的。
      
    4:什么是线程呢?
     在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。
     线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
     单线程:如果程序只有一条执行路径。
     多线程:如果程序有多条执行路径。
     
    5:多线程有什么意义呢?
     多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率。
     程序的执行其实都是在抢CPU的资源,CPU的执行权。
     多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。
     我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。

  • 相关阅读:
    Maven下载Jar包(bat脚本)
    在CentOS7环境下安装Mysql
    在CentOS7下安装JDK1.8
    教你如何进行暗网之旅
    在CentOS7下搭建Hadoop2.9.0集群
    查询IP地址的免费API
    HTTP请求代理类(GET 、 POST 、PUT 、DELETE)
    JAVA 实现 GET、POST、PUT、DELETE HTTP请求
    002---rest_framework认证组件
    001---CBV和restful规范
  • 原文地址:https://www.cnblogs.com/flei/p/6622397.html
Copyright © 2011-2022 走看看