递归火山软件开发平台

标题: 管道只有读或写操作就会导致程序崩溃 [打印本页]

作者: hs999xl    时间: 2024-8-23 11:40
标题: 管道只有读或写操作就会导致程序崩溃
(, 下载次数: 19)
说好的 否则将一直阻塞直到读入相应数据
为什么它不是一直卡在那里?而是程序直接崩溃了?
求大佬赐教


作者: xrea    时间: 2024-8-23 12:16
因为管道没关闭程序就结束了,所以报错了
作者: hs999xl    时间: 2024-8-23 13:24
xrea 发表于 2024-8-23 12:16
因为管道没关闭程序就结束了,所以报错了

为什么程序先结束了?不应该执行到最后的返回(-1)才结束吗?
作者: xrea    时间: 2024-8-23 14:57
因为程序发现会无限等待,报错了。这么说应该是没错
作者: hs999xl    时间: 2024-8-23 15:06
xrea 发表于 2024-8-23 14:57
因为程序发现会无限等待,报错了。这么说应该是没错

嗯,这样确实理解了。程序它是怎么发现会无限等待的?谁偷偷告诉的?
作者: 飞扬工作室    时间: 2024-8-23 15:49
你前面的协程已经退出了,执行到后面这个读系统发现没有其它协程肯定会卡死,就抛出异常,这很合理啊
作者: hs999xl    时间: 2024-8-23 18:23
飞扬工作室 发表于 2024-8-23 15:49
你前面的协程已经退出了,执行到后面这个读系统发现没有其它协程肯定会卡死,就抛出异常,这很合理啊 ...

我想了解代码是如何执行的,看到你说抛出异常,我大概就明白一点了。
之前我以为是不是代码哪里写错了导致程序崩溃?不知道有抛出异常这种情况,刚知道,那确实合理了。
作者: a25926    时间: 2024-8-25 09:02
飞扬工作室 发表于 2024-8-23 15:49
你前面的协程已经退出了,执行到后面这个读系统发现没有其它协程肯定会卡死,就抛出异常,这很合理啊 ...

像我们这种菜鸟也能给你对上话,真的是无比荣幸




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4