用queue，条件锁，和互斥锁封装成buffer类，从此外部使用buffer类，不需要再考虑同步和互斥问题