线程与进程的区别:
1)从定义来看:
线程:线程是系统执行的最小单位,即CPU调度的最小单位
进程:进程是一组指令加数据加资源的组合,(正在运行的程序,动态的);进程是资源分配的最小单位。
2)进程和线程的关系:
a.一个线程只能属于一个进程,一个进程可以有多个线程,但是至少有一个线程即主线程。
b.同一个进程的所有线程共享该线程的所有资源
c.线程是指进程内的一个执行单元,也是进程内的可调度实体。
d.进程的创建函数 fork();线程的创建函数pthread_create();
3)多线程和多进程的区别:
线程间的数据共享:多线程之间共享全局变量,堆区数据,文件描述符,但是各个线程有自己的栈区。
父子进程间的数据共享:只有文件描述符共享,其余都不共享。