Channel is unrecoverably broken and will be disposed 错误,其中之一解决办法

 

在项目开发过程中遇到一个问题,Channel is unrecoverably broken and will be disposed,在log error 打印里没有明显的错误,然后找了很久发现这个报错,然后推断是内存溢出,但是这里没有明显的报错,查看代码后发现是new 对象太多了

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以通过逻辑推理来找出谁打碎了玻璃,具体步骤如下: 1. 假设甲说的是真话,那么玻璃可能是丙或者丁打碎的,这时候假设玻璃是丙打碎的,那么乙的话就是假话,而丙和丁的话都是假话,这与题目所给出的前提“他们中有三位决不会说谎话”相矛盾,因此甲的话是假话,玻璃不可能是丙打碎的,只有可能是丁打碎的。 2. 根据乙的话,玻璃是丁打碎的,这时候假设丁说的是真话,那么甲和丙的话都是假话,于是只有乙和丁说的是真话,这与题目所给出的前提“他们中有三位决不会说谎话”相符,因此丁的话是真话,丁是打碎玻璃的人。 所以,可以写出如下的 Python 代码实现逻辑推理: ```python def who_broke_the_glass(): # 假设甲说的是真话,那么玻璃可能是丙或者丁打碎的 if not ((not is_c() and not is_d()) or (is_c() and is_d())): return "丁" # 假设甲说的是假话,那么玻璃只可能是丁打碎的 elif is_d(): return "丁" else: return "无法确定" def is_c(): # 判断丙的话是否为真 return not (is_a() and not is_b() and is_d()) def is_a(): # 判断甲的话是否为真 return not (is_c() or is_d()) def is_b(): # 判断乙的话是否为真 return is_d() def is_d(): # 判断于的话是否为真 return False ``` 在上面的代码中,`who_broke_the_glass` 函数用于判断谁打碎了玻璃,`is_c`、`is_a`、`is_b`、`is_d` 函数则分别用于判断学生们说的话是否为真,它们通过逻辑运算与前提“他们中有三位决不会说谎话”相矛盾的方式来推断出谁打碎了玻璃。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值