SVIP优先办理服务-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)

【案例8-2】  Svip优先办理服务

【案例介绍】

  1.任务描述

在日常工作生活中,无论哪个行业都会设置一些Svip用户,Svip用户具有超级优先权,在办理业务时,Svip用户具有最大的优先级。

本案例要求编写一个模拟Svip优先办理业务的程序,在正常的业务办理中,插入一个Svip用户,优先为Svip用户办理业务。本案例在实现时,可以通过多线程实现。

2.运行结果

运行结果如图8-1所示。

  

图8-1 运行结果

 

【案例思路】

  1. 查看运行结果分析后,创建一个special()方法模拟Svip办理业务。
  2. 查看运行结果分析后,首先创建一个normal()方法模拟正常的窗口排队,当有Svip客户是使用join线程让步,调用special()方法优先让Svip办理业务。
  3. 最后在main方法中调用normal()方法。

【案例代码】

Svip优先办理服务程序的代码实现如文件8-1所示。

文件8-1  Svip.java

  1. package chapter0802;
  2. public class Svip {
  3.     public static void main(String[]args) throws InterruptedException
  4.     {
  5.         new Thread(new normal()).start();
  6.     }
  7.     }
  8.     class special extends Thread{
  9.     public void run()
  10.     {
  11.         System.out.println("svip客户开始办理业务");
  12.         System.out.println("svip客户办理业务的倒计时");
  13.         for(int i=10;i>=0;i--)
  14.         {
  15.             System.out.println(i+"");
  16.             try {
  17.                 Thread.sleep(1000);
  18.             } catch (InterruptedException e) {
  19.                 e.printStackTrace();
  20.             }
  21.         }
  22.         System.out.println("svip客户办理完毕");
  23.     }
  24.     }
  25.     class normal extends Thread{
  26.     public void run(){
  27.         System.out.println("业务办理窗口在正常排队中");
  28.           System.out.println("此时来了一位svip客户");
  29.             Thread t=new Thread(new special());
  30.              //各走各的逻辑错误,再加入join先执行完special,再执行normal剩下的
  31.             t.start();
  32.             try {
  33.                 t.join();
  34.             } catch (InterruptedException e) {
  35.                 e.printStackTrace();
  36.             }
  37.             System.out.println("业务办理窗口又恢复正常排队");
  38.     }
  39.     }

文件8-1中第8~24行代码是svip客户办理业务,使用for循环10次模拟办理业务;第25~39行代码是模拟窗口正常排队,第32~35行代码是normal线程让步special线程。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaozhima-dun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值