我有可能导致未定义行为的代码。我通过以下步骤对其进行了简化:
- 协程1正在等待并请求设备获取某些值(时间密集型),这些值应存储在变量“结果”中。
- 协程2现在删除变量“结果”。
- 协程1正在接收数据并想返回它们。
那么,Coroutine1的返回值和Future对象将如何处理?
- 是否将其存储(在“禁止的”存储空间中)?
- 会因为未来抛出异常而被抛弃吗?
- 协程1的未来会被取消吗?但是,谁又收到设备的答案呢?
- 如何捕捉此类错误?
我有可能导致未定义行为的代码。我通过以下步骤对其进行了简化:
那么,Coroutine1的返回值和Future对象将如何处理?