gpt4 book ai didi

c - 如何为多线程生产者-消费者 C 程序编写测试?

转载 作者:行者123 更新时间:2023-11-30 17:09:54 24 4
gpt4 key购买 nike

如何为多线程生产者-消费者 C 程序编写良好的测试?

我知道GDB可以用来调试线程,但我相信GDB也会停止当前正在调试的线程,而其他线程继续运行。

我想通过我的线程测试正确的互斥幸运/解锁和阻塞。我环顾四周,但未能找到任何好的资源。

我对所有非并发功能进行了单元测试,但想确保我的并发性是正确的。如何做到这一点?

最佳答案

I believe GDB also stops the thread currently being debugged while other threads continue running.

您的想法是错误的:默认情况下,GDB 以all-stop 模式工作:停止一个线程会停止它们全部

较新的 GDB 版本也有不间断模式,其中其他线程继续运行,但这不是默认设置。

want to make sure my concurrency is correct.

通过测试来证明并发性是正确的不可能。您只能通过编写正确的代码(并仔细检查)来做到这一点。

铿锵thread safety analysis可以帮助。在thread sanitizer下进行测试可以帮助。 GDB 通常是错误的工具。

关于c - 如何为多线程生产者-消费者 C 程序编写测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33088795/

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