第一部分 浅谈线程的状态

原创 2011年01月13日 10:14:00

首先可以看一些关于线程的状态图

有六种状态。

 

 

 

就这个图,我们简单的说一下管理线程的常用方法。

l  Thread类的构造方法:调用Thread类的构造方法之后,线程仅处于创建状态,并没有获得任何资源。

l Thread.start(): 当成功调用Thread类的start()方法后,线程将进入就绪状态,这时线程除没有拥有CPU时间片之外已经获得了其他所有的运行资源。当JVM线程调度器根据线程的优先级选中该线程时,该线程获得CPU时间片,正式进入运行状态。

l Thread.yield(): 当处于运行的线程调用这个方法后,线程所拥有的CPU时间片就被剥夺了,回到了就绪状态,等待JVM线程调度器的调度。

l Thread.sleep():当处于运行的线程调用这个方法后,调用后会在指定的时间内进入休眠状态。当休眠结束,或者捕获并响应由于Thread.interrupt()引起的InterruptedException异常后,线程回到运行状态。

l Object.wait():调用Object的wait方法可以让当前线程进入等待状态,只有当其他线程调用了此Object的notify、或notifyAll方法,或者wait(毫秒数)到达了指定的时间后,才会被激活继续执行,notify只是随机找wait此Object的一个线程,而notifyAll则是通知wait此Object的所有线程。在Sun JDK中,object.wait还有可能被假唤醒,因此通过在object.wait被唤醒后,应再次确认需要等待的状态是否变更了。

l Object.notify():如果线程不处于就绪(等待)状态,调用这个方法不起作用。

l Thread.suspend():处于运行状态的线程调用这个方法后,将状态改为挂起状态。只能和Thread.resume()配合使用,已被禁用。

l Thread.resume():将处于挂起状态的线程处于运行状态,只能和suspend()配合使用,现在已禁用。

l Thread.stop():终止线程,线程将释放占用的全部资源。方法已被禁用。

l Thread.join():结束线程,并等待方法参数指定的时间段。在等待期间,如果线程已经结束,则立即返回。

浅谈线程的状态

首先可以看一些关于线程的状态图 有六种状态。 就这个图,我们简单的说一下管理线程的常用方法。  Thread类的构造方法:调用Thread类的构造方法之后,线程仅处于创建状态,并没有获得任何...

浅谈线程与进程的相似与不同

线程与进程的相似之处 线程在很多地方与进程相似。线程和进程都有ID、寄存器组、状态以及优先权。它们与之关联的信息块,称做线程块(thread block)和进程信息块(process informat...

浅谈线程的理解

进程与线程 进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为...

Netty学习之旅------再谈线程模型之源码分析NioEventLoopGroup、SingleThreadEventExecutor

本文深入细致的分析了Netty NIO的事件模型,从事件模型的初始化(构造的全过程)、核心属性、构造方法、核心入口方法等方面细致分析了NioEventLoopGroup、SingleThreadEve...

【Java学习笔记】14:再谈线程的启动和暂时停止

线程,即正在执行程序的主体。 在单线程程序里,在某一时间点进行的处理只有一个。也就是说如果在任一时间提出问题“正在执行程序的哪里?”,可以指出程序中的某一点“就是这里”。 实际上严格地说,有些必须的线...

线程对象——第一部分

每个线程都跟
  • lzuwds
  • lzuwds
  • 2014年05月17日 15:19
  • 411

检测线程状态

  • 2017年12月01日 18:30
  • 32KB
  • 下载

线程状态图

  • 2017年11月02日 14:24
  • 29KB
  • 下载

不一样的视角:从JVM内存模型谈线程安全

从内存模型谈线程安全
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第一部分 浅谈线程的状态
举报原因:
原因补充:

(最多只允许输入30个字)