📄 queue.java
字号:
public class Queue
{
private List customers = new List();
private synchronized Object performAction(String cmd, Object obj)
{
if (cmd.equals("insert"))
{
if (!customers.isFull())
{
customers.add(obj);
}
notify();
return null;
}
else if (cmd.equals("size"))
{
return new Integer(customers.getSize());
}
else if (cmd.equals("retrieve"))
{
while (customers.getSize() == 0)
{
try
{
wait();
}
catch (InterruptedException ie)
{
System.out.println("Synch error in queue: " + ie);
}
}
Customer c = (Customer) customers.get(0);
customers.delete(0);
return c;
}
else
{
return null;
}
}
public void insert(Customer c)
{
performAction("insert", c);
}
public int getSize()
{
return ( (Integer) performAction("size", null)).intValue();
}
public Customer requestCustomer()
{
return (Customer) performAction("retrieve", null);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -