(一)进程和线程概念
进程是系统中正在运行的程序,程序一旦运行就是进程,打开任务管理器,如下的一个.exe就可以理解为一个进程:
每个进程之间是独立的,都有独立的内存地址,若想进程之间交流,可以使用进程间通信,如管道,信号,套接字等.
进程同线程类似,是一个比进程更小的执行单位,例如qq.exe是一个程序,可以理解为一个进程,其中接收消息等各个功能可以理解为一个线程,qq中类似的功能很多==>这个进程中包含多个线程,没错,一个进程中可以有多个线程,他们共享进程的堆和方法区资源,但是每个线程都有自己的虚拟机栈,程序计数器,本地方法栈,进程大,线程小,所以计算机在创建线程和进行线程切换的时候,消耗的成本会低许多,线程有称为轻量级进程.
一个进程之间可以有多个线程,兄弟线程之间共享进程的栈和方法区资源,但是每个线程之间都有自己的虚拟机栈,本地方法区,程序计数器.
进程是进程划分成的更小的运行单位。线程和进程最大的不同在于基本上各进程是独立的,而各线程则不一定,因为同一进程中的线程极有可能会相互影响。线程执行开销小,但不利于资源的管理和保护;而进程正相反.