remove copy

This commit is contained in:
zhiyong 2025-05-15 10:50:26 +08:00
parent fd4fa0962e
commit 9b2dd35fa8

View File

@ -146,7 +146,7 @@ class PositionManager:
with self._lock: with self._lock:
order = self.pending_orders.get(order_id) order = self.pending_orders.get(order_id)
# 如果找到订单,返回它的副本而不是直接引用 # 如果找到订单,返回它的副本而不是直接引用
return order.copy() if order else None return order
def get_pending_orders(self): def get_pending_orders(self):
"""获取所有未完成委托 """获取所有未完成委托
@ -164,7 +164,7 @@ class PositionManager:
# 锁外创建副本,避免外部修改影响内部数据 # 锁外创建副本,避免外部修改影响内部数据
result = {} result = {}
for order_id, order in orders_copy.items(): for order_id, order in orders_copy.items():
result[order_id] = order.copy() if hasattr(order, 'copy') else order result[order_id] = order
return result return result
@ -375,15 +375,4 @@ class PositionManager:
Returns: Returns:
list: 所有订单列表的副本 list: 所有订单列表的副本
""" """
# 创建临时变量存储锁内读取的数据 return self.all_orders
orders_copy = []
with self._lock:
# 快速获取数据并立即释放锁
orders_copy = self.all_orders.copy()
# 锁外创建深拷贝,避免外部修改影响内部数据
result = []
for order in orders_copy:
result.append(order.copy() if hasattr(order, 'copy') else order)
return result