进程(process)是操作系统的任务单元,每一个程序启动后,操作系统都会为其分配进程编号PID
线程(Thread)是进程中的任务单元,程序启动的时候,首先会创建主线程,可以在主线程中开辟子线程,每一个线程都对应一个虚拟机栈,栈是线程私有的,堆和方法区是线程共享的
串行
在一台机器上单线程执行
并行
并发:在同一台机器上多线程并行程序(存在资源竞争关系)
并行:在多台机器上并行执行(不存在资源竞争关系)
java中实现多线程的方式有4种
1.继承Thread类,重写run方法
2.实现Runable接口,重写run方法
3.实现Callable接口,重写call方法
4.使用线程池类