__ziyang 2016-08-01 10:37 采纳率: 100%
浏览 1421
已采纳

[Java基础多线程]5个人三个窗口办理业务

  • 假设一个银行有3个窗口可以办理业务,其中2号窗口只能办理现金业务,
  • 其他窗口现金业务和理财业务均能办理。(java)
  • 有5个人分别是“张三”,”李四”,”赵四”,”王五”,”田七”来该银行办理业务。
  • 其中赵四和田七是理财业务,其他均为现金业务。
  • 用线程模拟叫号机叫号的过程,并在控制台上打印出哪个人到哪个窗口办理业务
  • (每次办理业务需耗时300ms,假设正好赵四或者田七要办理业务排到了2号窗口,
  • 则不能办理,直接重新安排其他窗口办理,4个窗口不能同时叫号)
  • 写回答

2条回答 默认 最新

  • X_NewStar 2016-08-02 02:05
    关注
     package test;
    
    class Bank {
        public String[] name = { "张三", "李四", "赵四", "王五", "田七" };
        public int index = 0;
    
        public synchronized void op() {
            if (index >= name.length) {
                return;
            }
            if ((name[index].equals("赵四") || name[index].equals("田七"))
                    && Thread.currentThread().getName().equals("2")) {
                System.out.println("不办理");
            } else {
                System.out.println(Thread.currentThread().getName() + ":"
                        + name[index]);
                index++;
            }
        }
    }
    
    class Cus implements Runnable {
        private Bank b = new Bank();
    
        public void run() {
            while (b.index < b.name.length) {
                b.op();
                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
    
    public class thread {
        public static void main(String[] args) {
            Cus c = new Cus();
            Thread t1 = new Thread(c, "1");
            Thread t2 = new Thread(c, "2");
            Thread t3 = new Thread(c, "3");
            t1.start();
            t2.start();
            t3.start();
        }
    }
    

    这样符合么

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备