这篇写一个关于BlockingQueue的小例子。
BlockingQueue是阻塞队列,那么什么时候发生阻塞呢?一是队列,入列时没有值进行入列,二是出列时,没有值出列,这样就会发生阻塞。
代码例子如下:
1 class Toast { 2 3 public enum Status { 4 DRY, BUTTERD, JAMMED 5 } 6 7 private Status status = Status.DRY; 8 private final int id; 9 public Toast(int idn) { 10 id = idn; 11 } 12 public void butter() { 13 status = Status.BUTTERD; 14 } 15 public void jam() { 16 status = Status.JAMMED; 17 } 18 public Status getStatus() { 19 return status; 20 } 21 public int getId() { 22 return id; 23 } 24 public String toString(){ 25 return "Toast " + id + ": " + status; 26 } 27 }