review37
线程的常用方法
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();
}
}
运行结果如下所示:

review37的更多相关文章
随机推荐
- C#处理MySql多个返回集
关于Mysql返回多个集java和Php的较多,但是C#的完整代码好像没见过,研究了一下做个封装以后用 做一个Mysql的简单分页查询,有两个返回集 Sql语句如下 SELECT COUNT(*) f ...
- Git is fundamentally a content-addressable filesystem with a VCS user interface written on top of it
w “加一层去解决问题”:计算机解决问题的思路.怎样将其应用到代码中呢?比如亚马逊接口的开发. git加一UI层去实现易用性和降低用户的迁移成本. https://git-scm.com/book/e ...
- IDEA 跑spring项目找不到get,set的问题
@Autowired的用法和作用 这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get. iDEA下安装lombok这个插件就可 ...
- Retrofit2.2说明-简单使用
很久前就想学习下Retrofit了,不过总是没有时间,正好最近新项目要用到网络请求,正好研究了下Retrofit2.2的简单使用方法,大致记录如下: Retrofit与okhttp共同出自于Squar ...
- iOS开发之计算器
本项目基于swift3.0的语法. // // ViewController.swift // 加法计算器 // // Created by 葛杨杨 on 2017/7/25. // Copyrigh ...
- PyQt4打包exe文件
使用到工具pyinstaller pip install pyinstaller 使用指令打包,其中xxx.ico为需要的图标,xxx.py为要打包的py文件 pyinstaller -w --ico ...
- 剑指offer 面试31题
面试31题: 题目:栈的压入.弹出元素 题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序 ...
- Oracle数据库的启动与关闭
一.概述: Oracle数据库的启动分为启动数据库实例.装载数据库和打开数据库3个过程,对应数据库的3种模式. 启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA.PGA等 ...
- 每天一个Linux命令(60)ip命令
ip命令是Linux下较新的功能强大的网络配置工具. (1)用法: 用法: ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] ...
- Socket 例子
package com.pab.util; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import ...