Java多线程之线程状态
2015-11-15 13:36
417 查看
线程可以有4个状态,
New (新生)
Runnable (可运行)(这里和Runnable接口没有任何关系!!!)
Blocked (被阻塞)
Dead (死亡)
新生线程:
new操作即新生一个线程,例如 new Thread(t)。
可运行:
线程调用start()方法即进入可运行状态。
被阻塞:
线程调用sleep()方法进入阻塞状态;
线程在IO上阻塞;
线程试图得到一个锁lock阻塞;
线程在等待某个触发条件;
调用了线程的suspend()方法。
死亡:
run()方法正常退出死亡;
一个未捕获的异常终止了run()方法而使线程死亡。
boolean isAlive()
如果线程已经启动,但还没终止,则返回true;
void stop()
停止线程,这个方法已经过时了;
void suspend()
挂起线程,这个方法已经过时了;
void resume()
恢复线程,这个方法已经过时了;
void join()
等待直到线程死亡。
void join(long millis)
等待直到线程死亡或经过的毫秒数。
New (新生)
Runnable (可运行)(这里和Runnable接口没有任何关系!!!)
Blocked (被阻塞)
Dead (死亡)
新生线程:
new操作即新生一个线程,例如 new Thread(t)。
可运行:
线程调用start()方法即进入可运行状态。
被阻塞:
线程调用sleep()方法进入阻塞状态;
线程在IO上阻塞;
线程试图得到一个锁lock阻塞;
线程在等待某个触发条件;
调用了线程的suspend()方法。
死亡:
run()方法正常退出死亡;
一个未捕获的异常终止了run()方法而使线程死亡。
boolean isAlive()
如果线程已经启动,但还没终止,则返回true;
void stop()
停止线程,这个方法已经过时了;
void suspend()
挂起线程,这个方法已经过时了;
void resume()
恢复线程,这个方法已经过时了;
void join()
等待直到线程死亡。
void join(long millis)
等待直到线程死亡或经过的毫秒数。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Python3写爬虫(四)多线程实现数据爬取
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树