clean stop -thread safe