一、两者概念
进程是程序的一次动态执行过程,它经历了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到最终消亡的过程。
多进程操作系统能同时运行多个进程(程序),由于CPU 具备分时机制,所以每个进程都能循环获得自己的 CPU 时间片。由于CPU 执行速度非常快,使得所有程序好像是在“同时”运行一样。
多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分。所谓多线程是指一个进程在执行过程中可以产生多个线程,这些线程可以同时存在、同时运行,一个进程可能包含了多个同时执行的线程。
二、两者区别
进程和线程的区别:
在传统的程序语言中,运行的顺序总是必须按照程序的流程运行,遇到 if … else语句就加一判断,遇到 for、while 等循环就会多绕几个圈,最后程序还是按着一定的程序运行,且一次只能运行一个程序块。
Java 的多线程打破了这种传统的束缚,所谓的线程是指程序的运行流程,多线程机制则是指可以同时运行多个程序块,使程序运行的效率变得更高,也可克服传统程序语言所无法解决的问题。
例如,有些包含循环的线程可能要使用一段时间来运算,此时便可以让另一个线程来做其他的处理。