zoukankan      html  css  js  c++  java
  • 【多线程概述】

    进程:

      正在运行的程序,是系统进行资源分配和调用的独立单位

      每一个进程都有它自己的内存空间和系统资源
    线程:

      进程中的单个顺序控制流,是一条执行路径,是程序使用CPU的最基本单位

      一个进程如果只有一条执行路径,则称为单线程程序

      一个进程如果有多条执行路径,则称为多线程程序

    多线程有什么意义?

      多线程的存在,不是提高程序的执行速度,是为了提高应用程序的使用率。程序的执行其实都是在抢CPU的资源,CPU的执行权。

      多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的机率抢到CPU的执行权

      我们不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随即性

    并行和并发:

      前者是逻辑上同时发生,指在某一个时间内同时运行多个程序

      后者是物理上同时发生,指在某一个时间点同时运行多个程序

    JAVA程序运行原理:

      Java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一 个进程。

      该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。

      所以 main 方法运行在主线程中。在此之前的所有程序都是单线程的。

    run()和start()的区别:

      run():仅仅是封装被线程执行的代码,直接调用时相当于普通方法

      start():首先启动了线程,然后再由JVM 去调用该线程的run()

    终身学习者
  • 相关阅读:
    在k8s中部署jenkins
    k8s CI/CD介绍
    k8s 构建jenkinsslave
    k8s 安全框架
    k8s RBAC介绍
    k8s 存储小结
    k8s 实施准备工作
    k8s 网络示例
    jenkins在kubernetes中动态创建代理
    k8s 鉴权 授权 准入控制
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9542168.html
Copyright © 2011-2022 走看看