Day12_59_Java多线程

多线程

1.  什么是进程?

     * 每个进程是一个应用程序,都有独立的内存空间,一个进程对应一个应用程序。
 
     * 例如:在windows操作系统中启动了word就是启动了一个进程,一边听音乐,一边打游戏就是多进程执行场景。在java 开发环境中启动了JVM 就是启动了一个进程,现在的计算机都是支持多进程的,
            在同一个操作系统中可以同时启动多个进程。


 2. 多进程的作用?
    
 * 单进程计算机同一时间只能做一件事,也就是听音乐的同时不能再玩游戏。单核计算机也是多进程的,也可以一边听音乐一边玩游戏,但是游戏进程和音乐进程不是发生在同一时间点上执行的,而是频繁切换执行。

 * 所以多进程的作用不是为了提高工作效率,执行速度,而是提高 计算机CPU 的使用率。

 * 进程和进程之间的内存是独立的。

 3. 什么是多线程?

    * 线程是指进程中的一个执行场景,也就是执行流程。多线程是实现并发机制的一种有效手段。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。

   * 所谓多线程是指一个进程在执行过程中可以产生多个更小的程序执行单元,这些更小的单元称为线程,这些线程可以同时存在,同时运行,一个进程可能包含多个同时执行的线程。 


 4. 多线程有什么作用?

    * 多线程不是为了提高执行速度,而是为了提高应用程序的使用率。

    * 一个进程可以有多个线程,但是多个线程不是同一时间执行的,而是以人类感知不到的速度,频繁切换执行的。  同一个进程的中的线程共享其进程中的内存和资源 .

    * 共享的是堆内存和方法区内存,栈内存不共享,每个线程都有独立的栈内存,一个线程一个栈.


 5. java 程序在线程中的运行原理?
   
    * java 命令会启动java虚拟机(JVM) ,等于启动了一个应用程序,也就是启动了一个进程.

    * 该进程会自动启动一个 “ 主线程 ”,然后主线程去调用每个类中的main方法,所以main方法运行在主线程中。
上一篇:MySQL 数据类型


下一篇:Python之replace()方法失效