进程是程序的一次运行。进程由进程内核对象和地址空间构成两部分组成。进程不执行任何东西,只是线程的容器,线程就是在进程的地址空间中执行代码的。进程的某个线程创建了一个对象后,进程就会为对象分配一个内存块。 进程是独立的,无法突破边界存取其他进程内的存储空间。
线程运行在进程空间内。线程由内核对象和线程堆栈组成。线程的内核对象:操作系统利用它对线程实施管理并存放线程统计信息;线程堆栈:用于维护线程在只想代码时候需要的所有的函数参数和局部变量。线程总是在某个进程环境中创建的,线程的生命周期都在该进程中,当进程退出时,所有的线程都会被强制退出并释放。
如果在同一时间执行多个线程就叫多线程。在同一时间运行的这几个线程,可以共享单个地址空间,可以共享内核对象句柄,可以执行相同的代码,可以对相同的数据进行操作。