进程与线程,多进程与多线程
1.线程和进程的概念
答:进程是指系统资源分配和调度的基本单位,它是操作系统结构的基础。它是一个独立的实体,且每个进程都占有独立的内存空间。
线程是指操作系统能够进行运算调度的最小单位,被包含在进程中,是进程中实际运作的单位。
2.线程和进程的区别
答:①.进程是系统资源分配和调度的基本单位,有独立的内存空间;而线程是CPU调度的基本单位,是操作系统能够进行运算调度的最小单位,没有独立内存空间,但有独立的栈,寄存器,局部变量等,其他线程可以读写栈内存。
②创建进程开销大,包括创建虚拟地址空间等需要大量内存资源;而创建线程开销小,基本上只需要一个内核对象和一个堆栈。
③一个进程无法直接访问其他进程的资源;但是同一进程内多个线程可以共享进程的资源。
④进程切换开销大,线程切换开销小。
⑤进程通信开销大,线程通信开销小。
⑥线程属于进程,不能独立执行。每个进程应该至少要有一个线程,称为其主线程。
进程与线程之间最主要的区别就是:同一进程内的多个线程可以共享部分状态,多个线程可以读写同一块内存(而进程无法直接访问其他进程的内存),同时每个线程还用自己的独立的栈和寄存器,其他线程还可以读写这些栈内存。
3.线程创建的方式有哪些
答