java线程上路
来源:互联网 发布:这个驸马有淘宝gl下载 编辑:程序博客网 时间:2024/05/17 08:07
初始状态:就是刚刚new一个Runnable或者Thread的子类
可运行: 调用start()方法。调用start()方法并不会立即运行,而是得到cpu时间片后才运行
终止:run()方法运行结束
线程阻塞的几种方式
第一种方式阻塞IO,比如读取用户在控制台输入的一行数据
Scanner sc=new Scanner(System.in); sc.nextLine();
第二种:调用线程的wait(),这个方法会阻塞线程,并且释放线程持有的锁。这是object类的方法
第三种:调用线程对象的join(),它会等待该线程对象出现终止状态,也就是run()方法运行结束。内部的实现是使用wait()
public final synchronized void join(long millis) throws InterruptedException { long base = System.currentTimeMillis(); long now = 0; if (millis < 0) { throw new IllegalArgumentException("timeout value is negative"); } if (millis == 0) { while (isAlive()) { wait(0); } } else { while (isAlive()) { long delay = millis - now; if (delay <= 0) { break; } wait(delay); now = System.currentTimeMillis() - base; } } }
第四种方式:调用Thread类的静态方法sleep(m),该线程会睡m毫秒,也就是 阻塞m 毫秒,m毫秒后进入可运行状态。但是线程不会释放锁。
0 0
- java线程上路
- Java上路10-线程通信
- java新手上路(五):线程,多线程
- JAVA新手上路之遇见线程
- Java新手上路大全
- Java新手上路大全
- 上路------Hello java
- Java新手上路大全
- Java新手上路大全
- JAVA上路了.
- Java上路05-数组
- Java上路09-多线程
- Java上路11-字符串
- Java上路12-集合
- Java上路13-泛型
- Java上路20-GUI
- Java新手上路经验1
- java Properties 类新手上路
- 简单的用 freemarker 生成静态html
- 【Linux编程】僵尸进程和孤儿进程
- CSS文字垂直居中
- 并查集
- 创建单链表并赋值,要求遍历能输出1~9
- java线程上路
- 1613-3-傅溥衍 总结《2016年12月9日》【连续第七十天总结】
- DenyHosts readme翻译
- poj_1442_Black Box_优先队列
- 合并果子
- 【Hbase】Hbase分布式链接出错的问题,启动后不能连上其他节点处理问题。一直报错The node /hbase is not in ZooKeeper.不能同步的问题。
- 初始【C#】
- Hawq学习笔记 --- 创建带有自增字段的table,并插入数据
- HBase shell的基本用法