使用abstract_factory优化无锁队列