美文网首页
JAVA-多线程 (一) 认识多线程

JAVA-多线程 (一) 认识多线程

作者: lconcise | 来源:发表于2018-10-16 22:43 被阅读9次

引导

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

什么是进程?

通过任务管理器我们就看到了进程的存在。
而通过观察,我们发现只有运行的程序才会出现进程。
进程:就是正在运行的程序。
进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。

多进程有什么意义?

单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。
举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。
也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。
并且呢,可以提高CPU的使用率。

问题:
一边玩游戏,一边听音乐是同时进行的吗?
不是。因为单CPU在某一个时间点上只能做一件事情。
而我们在玩游戏,或者听音乐的时候,是CPU在做着程序间的高效切换让我们觉得是同时进行的。

什么是线程?

  • 在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。
  • 线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
  • 单线程:如果程序只有一条执行路径。
  • 多线程:如果程序有多条执行路径。

多线程有什么意义?

  • 多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率。
  • 程序的执行其实都是在抢CPU的资源,CPU的执行权。
  • 多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。
  • 我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。

并行 并发

  • 前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
  • 后者是物理上同时发生,指在某一个时间点同时运行多个程序。

Java程序的运行原理及JVM的启动是多线程的吗?

  • Java 命令去启动jvm,jvm会启动一个进程,进程回去启动一个主进程
  • JVM的启动是多线程的,因为它最低有两个线程启动了,主线程和垃圾回收线程。

相关文章

  • JAVA-多线程 (一) 认识多线程

    引导 要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在。 什么是进程? ...

  • Java-多线程(一)

    NO.1 多线程简介 NO.2 多线程实现方式(一) NO.3 多线程实现方式(二) NO.4 匿名内部类实现线程...

  • java-多线程

    介绍一下Syncronized锁。如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么? 修...

  • java-多线程

    多线程 synchronized 1、synchronized关键字 简介解决多个线程之间访问资源的同步性。保证被...

  • Java-多线程详解(一)

    1.进程与线程 (1).什么是进程? 进程:正在运行的程序,是系统进行资源分配和调用的独立单位。每一个进程都有它自...

  • Java-多线程(二)

    NO.1 单例设计模式 NO.2 Runtime类学习 NO.3 Timer类(掌握) NO.4 两个线程间的通...

  • Java-多线程编程

    前言: Java的多线程编程随着应用功能越来越复杂,用户对软件体验要求越来越高,那么对于多线程的编程越发重要了。接...

  • Java-多线程-ScheduledThreadPoolExec

    定时线程池类的类结构图 一、条件锁 条件锁框架中对应的AQS框架中,条件队列与同步队列都用了起来。 1、T1刚来,...

  • Java-多线程-synchronized

    一、锁 概述 加锁目的:序列化访问临界资源,即同一时刻只能有一个线程访问临界资源(同步互斥访问),在保证数据安全的...

  • iOS多线程 NSOperation

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

网友评论

      本文标题:JAVA-多线程 (一) 认识多线程

      本文链接:https://www.haomeiwen.com/subject/mzydoftx.html