线程的常用方法

1.start()

线程调用该方法将启动线程,使之从新建状态进入就绪队列排队。

2.run()

3.sleep()

4.isAlive()

线程处于新建状态时,线程调用isAlive()方法返回false。

public class ClassRoom implements Runnable {
Thread student, teacher;
ClassRoom()
{
teacher = new Thread(this);
student = new Thread(this);
teacher.setName("王教授");
student.setName("张三");
} @Override
public void run() {
// TODO Auto-generated method stub
if(Thread.currentThread() == student)
{
System.out.println(student.getName() + "正在睡觉, 不听课");
try {
Thread.sleep(1000*100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println(student.getName() + "被老师叫醒了");
}
}
else if(Thread.currentThread() == teacher)
{
for(int i = 1; i <= 3; i++){
System.out.println("上课");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
student.interrupt();
}
} }

运行

public class Test03 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
ClassRoom room6501 = new ClassRoom();
room6501.student.start();
room6501.teacher.start();
} }

运行结果如下所示:

最新文章

  1. Linux下的Apache和PHP安全设置,如何开启PHP的安全模式
  2. WebService &ndash; 3.后台调用WebService,根级别上的数据无效
  3. Java: 基类、子类、构造函数、程序块的初始化顺序
  4. apiCode/1/1.1/1.1.1
  5. sed and awk学习笔记
  6. Eclipse添加小工具_打开当前文件所在文件夹
  7. c++算术运算时数据类型提升带来的问题
  8. jQuery append xmlNode 修改 xml 内容
  9. 在使用MOS管时要注意的问题
  10. 一次优化web项目的经历记录(三)
  11. DenyHosts 安装及配置详解
  12. 如何借助Motion操控Linux监控摄像头
  13. Unity3D中的AI架构模型
  14. ios在Xcode里关于图片的权限设置
  15. creating server tcp listening socket 127.0.0.1:6379: bind No error
  16. 服务调用restful或feign负载均衡ribbon
  17. 简单函数template max
  18. qt设计器中使用自定义控件
  19. FW 构建OpenStack的高可用性(HA,High Availability)
  20. ArcGIS 复制要素

热门文章

  1. 巨蟒python全栈开发django1:自定义框架
  2. commit Commit changes to stable storage 对变化提交
  3. php自定义函数: 文件大小转换成智能形式
  4. JavaWeb 三层框架
  5. linux下查看cpu,内存,硬盘等硬件信息的方法
  6. 前端之 JS 实现全选、反选、取消选中
  7. PAT 1070. 结绳(25)
  8. 转载:阮一峰 RESTful API设计指南
  9. 0405-服务注册与发现-客户端负载均衡-Ribbon 同Eureka使用,Ribbon脱离Eureka使用
  10. 剑指offer 面试8题