进程和线程的区别
1.进程简单来说就是一个正在运行的程序,QQ就是个进程,微信也是个进程。线程是系统分配处理器时间的基本单元。
2.进程有自己的堆栈空间和数据段,开销是比较大的。线程有独立的堆栈空间,但是数据段是共享的,开销会更小,切换速度更快。但是安全性比进程要差。在保护模式下,进程崩溃不会对其他进程产生影响。
3.进程的创建销毁的代价较大,线程切换快。需要并行操作使用线程比较好。java多线程常用于高并发去执行没有前后关系的,长耗时的操作。线程数量过多也不好,一方面上下文切换需要时间,一方面也会占用内存。同时出现问题排查也会麻烦。