Java线程的六种状态
2015-08-03 23:38
417 查看
java线程有很多种状态,最主要的有六种,被创建、运行、睡眠、等待、阻塞以及消亡六种,也有很多归结为5种,把睡眠以及等待归结为冻结;
被创建:就是线程被创建,就是new thread()之后就是创建一个线程;
运行:线程被创建之后通过 start()方法就可以启动线程,执行线程的run()方法,这时候线程就是在运行的状态,运行状态就是指线程在执行run方法的过程;
睡眠:线程有sleep(),然后可以自定义时间,线程在运行中只要调用sleep(),线程就会进入睡眠时间,睡眠状态就是线程什么事都不会干,等到睡眠时间到了就会跳到阻塞状态
等待:线程就是通过wait()方法进入等待状态,进入等待状态就不会醒过来,除非主线程执行结束,或者就是被唤醒,不然就是一直等待下去,唤醒之后就会进入阻塞状态,唤醒 是通过notify()这个方法来实现的。
阻塞:cpu在执行程序的时候,分配到的进程就会执行,没有执行到的cpu就会阻塞起来,等到cpu分配到时间的时候就进入运行状态,然后睡眠以及等待唤醒之后都是进入到阻塞 状态,等待cpu来执行;
消亡:就是死亡,run()方法执行完也就是进程结束,或者是整个程序被关闭,线程也就随着消亡;
被创建:就是线程被创建,就是new thread()之后就是创建一个线程;
运行:线程被创建之后通过 start()方法就可以启动线程,执行线程的run()方法,这时候线程就是在运行的状态,运行状态就是指线程在执行run方法的过程;
睡眠:线程有sleep(),然后可以自定义时间,线程在运行中只要调用sleep(),线程就会进入睡眠时间,睡眠状态就是线程什么事都不会干,等到睡眠时间到了就会跳到阻塞状态
等待:线程就是通过wait()方法进入等待状态,进入等待状态就不会醒过来,除非主线程执行结束,或者就是被唤醒,不然就是一直等待下去,唤醒之后就会进入阻塞状态,唤醒 是通过notify()这个方法来实现的。
阻塞:cpu在执行程序的时候,分配到的进程就会执行,没有执行到的cpu就会阻塞起来,等到cpu分配到时间的时候就进入运行状态,然后睡眠以及等待唤醒之后都是进入到阻塞 状态,等待cpu来执行;
消亡:就是死亡,run()方法执行完也就是进程结束,或者是整个程序被关闭,线程也就随着消亡;
相关文章推荐
- 转!!java中关键字volatile的作用
- eclipse导入到android studio的正确姿势
- java 枚举类小结 Enum
- dom4j将xml转换成对象
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- Java基础-----面向对象
- eclipse源代码热部署
- Java面向对象--继承
- Struts_json插件配置参数
- HeadFirst Java读后感
- JAVA拾遗——基本语法,汇总及练习。
- Java--传参的值传递和引用传递问题
- java notepad++
- 转!!java线程状态
- java发送邮件(2)
- SpringMVC + Spring 3.2.14 + Hibernate 3.6.10
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- JNI——Java调用DLL
- java基础知识整理:
- java平台的提高性能的几点建议