一,进程与多进程:
进程:同一个操作系统中执行的一个子程序,包含三部分:虚拟CPU、代码、数据。
多进程:同一个操作系统中执行的多个并行的子程序,可以提高CPU的使用率。
二,线程与多线程:
线程:在同一个进程当中执行的子程序流
多线程:在同一个进程当中并发执行的多个子程序流,可以提高CPU的使用率。
三,进程与线程的区别:
进程是有独立空间的,进程中的数据存放空间(堆空间和栈空间)是独立的。
线程的堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程消耗的资源小,相互之间也是可以影响的。
Java中如何调用进程:
调用本地程序的两个类:
Runtime
Runtime.getRuntime.exec(...);//执行一个程序
其返回值就是Process类型 Process
注意:
只有运行状态的线程才有机会执行代码,主线程的中止不会影响其他的正在运行中的线程,主线程中止也就是main方法退出了。只有进程中的所有线程都中止时,进程(JVM进程)才会退出,只要有线程没有中止,进程就不会退出。
操作系统决定线程是否有优先级,独占式的操作系统中系统会有优先级的概念,共享式的操作系统则不会有优先级的。
在线程的内部,程序依然顺序执行。