线程和进程的区别
进程:
进程指的是一段正在运行的程序。
线程:
线程是CPU执行的最小单位
区别:
1.每个进程拥有自己独有的数据,但是线程是共享数据
2.线程之间的通信相比于进程之间的通信更有效
3.线程相比于进程创建或者销毁的开销更小
4.多进程的程序更加健壮,而多线程程序只要有一个线程出现问题,对其共享资源的其他线程也会产生影响
5.每个进程都有自己独立地址空间每启动一个进程,系统就会分配地址空间,但是线程是共享程序的内存空间,所以创建一个线程时不会单独的分配地址空间
使用场景:
1.何时使用线程?
如果追求速度和效率,频繁的创建或者销毁,这些情况都可以选择线程,因为在创建线程的时候不会单独的分配地址空间
2.何时使用进程
追求系统更加稳定,可以选择进程