gpt4 book ai didi

c++ - 具有两个线程的段错误逻辑

转载 作者:行者123 更新时间:2023-11-28 03:09:55 24 4
gpt4 key购买 nike

我有一个应用程序,其中创建了主线程和附加(分离)进程。在该过程中,我们正在运行网络服务器,它通过网络从队列发送日志。

问题是:是否可以在段错误处理程序中执行某些操作以等待/完成发送该日志队列。所以我希望几乎 100% 交付该队列。

最佳答案

虽然可以编写段错误处理程序,但我强烈建议不要这样做。首先,由于段错误处理程序中的段错误,很容易使您的程序进入“不会终止”状态。

其次,正如 dan3 所提到的,进程的内存可能处于损坏状态,因此很难知道什么会起作用,什么不会起作用。

最后,您失去了使用进程中的核心转储来帮助追踪问题的机会。

虽然不推荐,但有可能。

我的建议是编写一个小程序,尽可能避免内存分配和使用指针。也许将缓冲区创建为全局数组,并且只使用有限的代码访问它们,这些代码可以由几位熟练的开发人员审查并进行彻底测试(压力测试在这里很棒)。但请记住,如果发送方或接收方崩溃,消息仍可能丢失,因此可能不值得为此付出努力。

顺便说一句 - 当 Netscape 第一次为 Linux 编写他们的浏览器版本时,我运行它并且它一直进入锁定状态。使用strace 程序,我很快发现它处于无限段错误循环中。非常令人沮丧,导致几乎 100% 的 CPU 浪费。

关于c++ - 具有两个线程的段错误逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18762684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com