以下代码是什么意思(这是在写一个进度调程的代码的一部分)

while (true) {
        String name = scanner.next();
        if (name.equals("M")) {
            break;
        }
        int needTime = scanner.nextInt();
        PCB inputPCB = new PCB(name, needTime);
        currentQueue.offer(inputPCB);//offer添加不会抛出异常,而是返回false
        waitQueue.offer(inputPCB.getName());
    }
        scanner.close();

    
        while (true) {
        PCB processingPCB = currentQueue.poll();//取出首个元素
        if (processingPCB.state != 'M'){
            waitQueue.poll();
            processingPCB.setState('R');
            if (processingPCB.getNeedTime()>round) {
                processingPCB.setCpuTime(processingPCB.getCpuTime() + round);
                processingPCB.setNeedTime(processingPCB.getNeedTime() - round);
                processingPCB.setState('R');
                waitQueue.offer(processingPCB.getName());
            } else {
                processingPCB.setCpuTime(processingPCB.getCpuTime()
                        + processingPCB.getNeedTime());
                processingPCB.setNeedTime(0);
                processingPCB.setState('B');
                finishQueue.offer(processingPCB.getName());

            }
            
        }
        currentQueue.offer(processingPCB);

 

你的代码不全,我说一下大致的意思

name 应该是任务的名称,输入M时会退出循环

needTime 任务执行的次数,任务的实际执行次数为needTime/round

currentQueue 任务队列

waitQueue 阻塞队列,添加和弹出会阻塞直到成功才返回

你的采纳率为0  就说这么多了