进程是资源分配的基本单位,线程是资源调度的基本单位.
1.所有线程共享进程的地址空间.而进程有独立的地址空间,崩溃后不影响其他进程,而线程崩溃后就会造成整个进程崩溃,所以多进程比多线程个稳定.,
2.线程依赖进程而存在,一个进程至少要有一个主线程,而线程不能脱离进程独立存在.
3.线程是进程的一条执行路线,一个进程可以同时执行多个线程.
4.所有线程共享进程的资源,线程间通信比进程更加高效(共享代码段和数据段,线程有自己独立的堆栈段).
5.进程间切换比线程间切换消耗资源更多.
6.进程有进程控制块,线程有线程控制块
总的来说,如果使用多线程而不是用多进程,那么原因有两方面:
1.线程间切换更加高效(更能体现并发性)
2.线程通信更加便捷.共享全局数据.
但是要注意一点:如果一个线程崩溃就会造成整个程序崩溃.
1.所有线程共享进程的地址空间.而进程有独立的地址空间,崩溃后不影响其他进程,而线程崩溃后就会造成整个进程崩溃,所以多进程比多线程个稳定.,
2.线程依赖进程而存在,一个进程至少要有一个主线程,而线程不能脱离进程独立存在.
3.线程是进程的一条执行路线,一个进程可以同时执行多个线程.
4.所有线程共享进程的资源,线程间通信比进程更加高效(共享代码段和数据段,线程有自己独立的堆栈段).
5.进程间切换比线程间切换消耗资源更多.
6.进程有进程控制块,线程有线程控制块
总的来说,如果使用多线程而不是用多进程,那么原因有两方面:
1.线程间切换更加高效(更能体现并发性)
2.线程通信更加便捷.共享全局数据.
但是要注意一点:如果一个线程崩溃就会造成整个程序崩溃.