线程进程区别

         线程又被成为轻量级进程,进程是一次运行活动,线程是这个运行活动中的子活动,它们一样都是执行单元。

         进程既是执行单元,又是分配单元;而线程只是执行单元。也就是说进程的资源是独享的,不与其他进程共享,而线程资源则是共享的。比如内存,一个程序运行实例,操作系统为它分配2G内存,这部分内存是其他进程不能访问的,但是这2G内存是该程序的所有线程共享的,这个程序运行实例就是进程(进程狭义定义就是一个程序运行实例),而线程是进程的子任务,作为子任务它没有自己资源,全都共享进程资源,这就是线程不是分配单元。正由于线程资源共享,所以开发人员多线程开发时,需要考虑并发问题。

         线程是在进程基础上发展而来的。开始计算机应用有限,功能单一程序都可以有自己资源。随着计算机发展,应用普及,如果程序功能仍然单一,就会程序越来越多,而操作系统资源有限,给每个应用程序分配足够资源就成了一个问题,这么多程序应用起来也麻烦。于是程序功能多样化,功能糅合到一个程序中,共享一块资源,解决分配问题,使用也方便;同时借鉴操作系统并行处理方式,在程序内部利用线程也实现并行计算,提高资源利用率。

猜你喜欢

转载自blog.csdn.net/calvin555555/article/details/50887372