软件开发中,进程和线程是程序员必须要掌握的技术,这也是很多大学生在面试软件开发工作中经常会问到的笔试、面试题之一,本文就以简单的图文形式来说明进程与线程的关系。
进程与线程 进程
进程简单理解就是我们平常使用的程序,如QQ,浏览器,网盘等。进程拥有自己独立的内存空间地址,拥有一个以上的线程。
程序就是一个进程 线程
线程可以理解为轻量级的进程,是程序执行的最小单元。在某个进程启动后,会默认产生一个主线程,主线程可以创建多个子线程,因此线程是存在进程内的,位于一个进程内的线程可以共享部分资源,故线程间的切换比进程少得多。
PS:主线程与子线程可以同步或者异步执行,可以通过阻塞、守护等方式设置。
多线程可以并行、并发执行(如互联网开发中高并发编程技术),可以共享数据和资源,线程间采用多种线程通信方式进行通信。
总结:动图+长图
进程线程动图 生活中的进程线程