调整channel的实现,使得在多线程环境下不用担心channel的有效性问题