add muti-producer, one-consumer model