理论上是在工作线程完成,实际上为了方便主线程除了监听外还有数据读写