在面试中是否遇到过这样的问题:请说一下什么是进程?什么是线程?二者又有什么区别呢?下面做个记录,总结下我理解的进程和线程。
1.什么是进程?
通俗讲,进程就是一个独立运行的程序,它有它自己独立的运行环境,是操作系统进行资源分配和调用的独立单位。每个进程都有自己独立的内存空间和系统资源。
2.什么是线程?
进程中会执行很多的任务,我们可以把每个任务理解为一个线程。也可以说线程就是一种轻量级的进程,因为它和进程一样都有自己独立的运行环境、内存空间和系统资源。只不过创建一个线程比创建一个进程消耗的系统资源要更少。
3.进程和线程的关系?
Threads exist within a process — every process has at least one. Threads share the process's resources, including memory and open files. This makes for efficient, but potentially problematic, communication.
线程依附于进程,每个进程都拥有至少一个线程。线程会共享进程中的资源,包括内存和开放文件。这样可以进行有效的通信,但也可能会出现问题。
网友评论