如何使用Google测试框架进行多线程测试

6

我有一个序列代码,我想测试它的线程安全性。我正在使用Google测试框架进行单元测试。如何使用多线程调用这些单元测试以测试函数是否可以从多个线程安全地调用?

1个回答

7

Google Test没有特定的功能来测试线程安全性。

您可以始终自己编写线程,同时运行您的代码,并在加入它们后检查某些数据是否具有一致的值。

例如,我通过运行两个生产者和消费者线程来测试线程安全队列,其中生产者将固定数量的元素插入队列,而消费者设置为提取相同数量的元素。当两个线程都完成时,我会检查队列是否为空,并且消费者是否按正确顺序持有元素列表。


1
你是如何确保它们不是按顺序运行的? - Nicolas Holthaus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接