这是当前的问题:
Consumer(PriorityBlockingQueue<Character> queue ){ queue = queue; }那是一条无操作的语句,将参数的值赋给它自己。你要:
Consumer(PriorityBlockingQueue<Character> queue ){ this.queue = queue; }一旦你定,你会 再
有一个潜在的问题,因为调用
poll()(decalred中
Queue),这将返回
null如果队列为空。然后,该空引用将被取消装箱,以将值分配给
c变量(类型
char)。
请改用
take()(在中声明
BlockingQueue),这将阻止。您可能还需要指定一个超时。



