【发布时间】:2017-11-05 14:56:43
【问题描述】:
我是async/await 的新手,遇到了一些困惑。 pickle 应该以某种方式成为 awaited 吗?
例如,假设我有以下async 类方法:
async def get(self, key):
redis = await self.getRedis()
data = await redis.get(key)
if not data:
return None
return pickle.loads(data)
async def set(self, key, value, ttlInSeconds):
pickled = pickle.dumps(value)
redis = await self.getRedis()
await redis.setex(key, pickled, ttlInSeconds)
如果我正在序列化或反序列化一个大对象,pickle 上的整个循环不会阻塞吗?出于实际目的,对于较小的对象,这种瞬时阻塞是否可以接受?谢谢!
【问题讨论】:
标签: python python-3.x asynchronous async-await python-3.5