第一部分 浅谈线程的状态
来源:互联网 发布:macbook air编程如何 编辑:程序博客网 时间:2024/05/08 14:32
文章出自:http://blog.csdn.net/cuiran/article/details/6133745
首先可以看一些关于线程的状态图
有六种状态。
就这个图,我们简单的说一下管理线程的常用方法。
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():结束线程,并等待方法参数指定的时间段。在等待期间,如果线程已经结束,则立即返回。
- 第一部分 浅谈线程的状态
- 第一部分 浅谈线程的状态
- 浅谈线程的状态
- POSIX 线程详解,第一部分
- 浅谈字体创意(第一部分)
- 浅谈项目管理------第一部分:综合素质
- 浅谈思路严谨的管理软件中的用户在线状态控制【附部分C#参考代码】
- 浅谈思路严谨的管理软件中的用户在线状态控制【附部分C#参考代码】
- 浅谈c++之面向对象程序设计的几种小技巧系列之第一部分--(boolan)
- 线程对象——第一部分
- BPEL流程的状态与形式化定义---第一部分:属性与相关集
- 浅谈 线程的同步
- 浅谈线程的理解
- 浅谈状态压缩的应用
- 浅谈Canvas的状态绘图
- 线程的部分代码
- 线程的状态
- 线程的状态
- .NET中出现 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集
- 设备模型
- 服务器负载均衡的几种部署方式
- C语言中extern的用法(转摘)
- 如何判断一个点是否在不规则图形内部?
- 第一部分 浅谈线程的状态
- 053-571
- hdu3033I love sneakers! (分组背包,错了很多次)
- DSP程序开发与优化经验之一:TI多核处理DSP C66XX开发经验
- 手动更改火狐浏览器缓存文件位置
- 整理部分JS 控件 WEB前端常用的做成Jsp项目,方便今后直接用
- Imref2d函数派生对象提供的信息
- Android菜单详解(四)——使用上下文菜单ContextMenu
- windows下的txt文件在linux下观看