线程是操作系统能够进行运算调度的最小单位。
线程是程序执行中一个独立的路径,是程序使用CPU的最基本单位,是进程中的单个顺序控制流,是一条执行路径。一个进程如果只有一条执行路径,则称为单线程程序;一个进程如果有多条执行路径,则称为多线程程序。
线程是操作系统能够进行运算调度的最小单位。它是由进程内的一个执行路径,是进程中的单个顺序控制流。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
线程可以被分为两类:用户级线程和内核级线程。用户级线程也被称为轻量级线程,它们完全建立在用户空间中,由应用程序自行管理;而内核级线程则被称为重量级线程,它们需要操作系统的支持。
线程主要有以下几个特点:
轻型性:线程的实体很小,它基本上不占用内存,只有少量的栈空间和一些必要的寄存器占用的CPU空间。并发性:在同一个进程中的多个线程可以并发执行,它们共享进程的资源,但每个线程都有自己的栈空间和寄存器。
独立性:每个线程都有自己的程序计数器、栈和局部变量等,它们各自执行自己的程序,互不干扰。共享性:同一进程中的所有线程都共享该进程的地址空间和资源,它们可以访问同一个变量、内存地址等。