性能测试:进程与线程
进程:可以独立运行
线程:比进程小,线程是在进程里面工作的。
一个线程只能属于一个进程,一个进程可以拥有多个线程。
线程是进程工作的最小单位。
一个进程会分配一个地址空间,进程与进程之间不共享地址空间,即不共享内存
同一个进程下的不同的多个线程,共享夫进程的地址空间。
线程在执行过程中,需要协作同步,不同进程的线程间要利用消息的办法实现同步。
线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。
进程优点
1)每个进程互相独立,不影响主程序的稳定性。子进程崩溃不影响其他进程。
2)通过增加CPU, 就可以扩充性能
3)可以尽量减少线程加锁与解锁的影响,极大的提高了性能。
进程缺点:
1)逻辑控制负责,需要和主程序交互
2)多进程调度开销大
线程优点:
程序逻辑和控制方式简单
所有线程可以直接共享内存和变量等
线程方式消耗的总资源比进程方式少
线程缺点
1)每个线程与主程序共用地址空间,最大内存地址受限
2)线程之间的同步和加锁不易控制