1、什么是进程?
一个进程对应一个应用程序
例如:在windows操作系统中启动word就表示启动了一个进程,比如在java的开发环境下启动了JVM,就表示启动了一个进程。现代的计算机都是支持多进程的,在同一个操作系统中,可以同时启动多个进程。
2、多进程有什么作用?
单进程计算机只能做一件事情
玩电脑,一边玩游戏(游戏进程),一边听音乐(音乐进程)。
对于单核计算机来讲,在同一时间点上,游戏进程和音乐进程不是同时在运行。
因为计算机的CPU只能在某个时间点上做一件事。由于计算机将在“游戏进程”和“音乐进程”之间频繁切换,切换速度极高,人类感觉游戏和音乐在同时进行。
作用:多进程的作用不是执行速度,而是提高CPU的使用率。
进程和进程之间的内存是独立的
3、什么是线程?
线程是一个进程中的执行场景。一个进程可以启动多个线程
4、线程有什么作用?
多线程不是为了执行速度,而是提高应用程序的使用率
线程和线程共享“堆内存和方法区内存”,栈内存是独立的,一个线程一个栈
5、关于JAVA程序的运行原理?
java命令会启动java虚拟机,启动JVN,等于启动了一个应用程序,表示启动了一个进程。该进程自动启动一个“主线程”,然后主线程去调用某个类的main方法。所以main方法运行在主线程中。在此之前的所有的程序都是单线程的。
分析以下程序有几个线程?
public class TreadTest01
{
public static void main(String[] args){
m1();
}
public static void m1(){
m2();
}
public static void m2(){
m3();
}
public static void m3(){
System.out.println("m3....");
}
}
//只有一个线程,就是主线程
main,m1,m2.m3这四个方法在同一个栈空间中。
没有启动其他任何线程。