深圳热线

线程的状态都有什么?线程在计算机系统中的价值是什么?

2023-04-03 08:28:41 来源:创视网

线程的状态

新建(New):在程序中用构造方法创建一个线程对象后,新的线程对象便处于新建状态,此时,他已经有了相应的内存空间和其他资源,但还不处于课运行状态。

就绪(Runable):新建线程对象后,可调用线程start()方法来启动线程。当线程启东时,线程就进入就绪状态。此时,线程进入线程队列排队,等待CPU服务,即具备了运行条件。

运行(Running):当就绪状态的线程被调用并获得处理器资源时,线程就进入了运行状态。这时,自动调用线程对象的run()方法。run()方法定义了该线程的操作和功能。

阻塞(Blocked):一个正在执行的线程在某些特殊情况下,如被认为挂起或需要执行耗时的输入/ 输出操作时,会让出CPU并暂时终止自己的行为,进入堵塞状态。进入堵塞状态,在可执行状态下,如果调用 sleep(),suspend().wait()等方法,线程将进入堵塞状态。堵塞时,线程不能进入排队队列,只有当引起 堵塞的原因被消除后,线程才可以转入就绪状态。

死亡(Dead):线程调用stop()方法或者run()方法执行结束后,就处于死亡状态。处于死亡状态的线程将不具备继续运行的能力。

线程在计算机系统中的价值是什么?

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIXThread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。

同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。

一个进程可以有很多线程,每条线程并行执行不同的任务。

关键词: 线程的状态 都有什么 线程在计算机 系统中的价值

热门推荐