java160-interrupt方法
import java.util.PrimitiveIterator;
public class Classroon implements Runnable {
private Thread student;//学生线程
private Thread teacher;//老师线程
public Classroon(){
student = new Thread( this,"小迷糊" );
teacher = new Thread( this,"大教授" );
student.setPriority( Thread.MIN_PRIORITY );
student.start();
teacher.start();
}
public void run(){
Thread current=Thread.currentThread();//获取当前方法的线程
if(current==student){//如果是学生线程
System.out.println( current.getName()+"在听课" );
System.out.println( current.getName()+"不听课,准备睡觉" );
try {
Thread.sleep( 1000*60*60 );
}catch (InterruptedException e){
System.out.println( "学生被老师叫醒了,继续听课" );
e.printStackTrace();
}
}
if(current==teacher){//如果是老师线程,则吵醒学生
System.out.println( "老师上课" );
for(int i=1;i<=3;i++){
System.out.println( current.getName()+"大声喊,上课了,不要睡觉啊" );
try {
Thread.sleep( 2000 );
}catch (InterruptedException e){
e.printStackTrace();
}
}
student.interrupt();//中断student线程的休眠状态
}
}
}
测试类
public class test107 {
public static void main(String[] args){
new Classroon();
}
}
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!