修复一些bug，为回调函数单独分配了一个线程