在计算机科学中,“线程”和“进程”是两个相关的概念。二者都表示必须按特定顺序执行的指令序列。但是不同线程或进程中的指令可以并行执行。
进程存在于操作系统内,并对应于用户可看作为程序或应用程序的事物。另一方面,线程存在于进程内。因此,线程有时也称作“轻量进程”。每个进程都由一个或多个线程组成。
多个进程的存在使得计算机能够一次执行多个任务。而多个线程的存在使得进程能够分解工作以便并行执行。在多处理器计算机上,进程或线程可以在不同的处理器中运行。这使得真正的并行处理成为可能。
并不总是能够完全并行处理。有时候必须要同步线程。一个线程可能必须等待另一个线程的结果,或者一个线程可能需要独占访问另一个线程正在使用的资源。同步问题是多线程应用程序中出现 bug 的一个常见原因。有时候线程可能最终等待的是永远不会变得可用的资源。这导致了一种称为“死锁”的状况。
、