单线程的程序往往功能非常有限。比如,当开发开一个简单的服务器程序,它需要向不同的客户端提供服务,而不同的客户端之间应该互不干扰,而这就需要使用多线程。
多线程的程序可以包含多个顺序执行流,而多个顺序流之间互不干扰。
Java语言提供非常优秀的多线程支持,程序可以通过非常简单的方式启动多线程。
进程
几乎所有的操作系统都支持进程的概念,所有运行中的任务通常都对应一个进程(Process)。
当一个程序进入内存运行时,就会变为一个进程。进程是处于运行过程中的程序,具有一定的独立功能,它是系统进行资源分配和调度的一个独立单位。
多线程
多线程扩展了多进程的概念,使得同一个进程可以同时并发处理多个任务。
线程(Thread)也被称为轻量级的进程,是进程的执行单元。线程在程序中是独立、可并发的执行流。
线程可以拥有自己的堆栈、自己的程序计数器和局部变量。线程的调度和管理由进程本身负责完成。