看了一些进程和线程的知识,故来整理下自己对多进程和多线程的认知,博客发表不了,就放到这里。认识比较浅薄,且作抛砖引玉了,还望路过的小伙伴们留下自己的见解。
Windows上讲“应用程序是进程的容器”。就是说一个应用程序可以有多个进程组成,是这多个进程分担了应用程序的所有工作。多进程直观体现在比如搜狗打字时,一个进程管理显示,一个进程处理通过已经打出的字母来联想到一些常用词。
进程是最小的资源分配单元,从这个角度来讲,CPU根本不在意有多少应用程序,他只管有多少个进程。可以同时运行多个应用程序的实质还是可以同时开多个进程。多进程是为提高资源利用率而生的!
多线程的出现是为了解决、补充多进程的某些缺点的。比如多进程的在切换调度时开销大。多线程的切换调度的开销就小很多。
但是进程间相互独立,一个进程崩了,不影响其他进程,但是一个线程挂了就可能影响到同进程的其他线程。 |