相关疑难解决方法(0)

我该如何对线程代码进行单元测试?

到目前为止,我已经避免了测试多线程代码的噩梦,因为它看起来像是一个雷区太多了.我想问一下人们如何测试依赖线程成功执行的代码,或者人们如何测试那些只在两个线程以给定方式交互时出现的问题?

对于今天的程序员来说,这似乎是一个非常关键的问题,将我们的知识集中在这个imho上是有用的.

multithreading unit-testing

673
推荐指数
16
解决办法
15万
查看次数

适合非线程安全代码的执行器

我正在开发一些最终将使用线程池进行多线程的代码Executor。线程池执行的任务将进行回调并(有时)将进一步的任务提交到任务队列。我想首先开发单线程代码,使其正确(我正在使用测试驱动开发),然后才进行更改以确保线程安全(锁等)。为此,我需要一个Executor可以安全地与非线程安全代码一起使用的代码。

认为这意味着我需要一个Executor单线程的。也就是说,它导致所有工作都由调用线程完成。JRE 提供这样的吗Executor?或者是否可以将其中一个Executor配置为在该模式下运行?


我已经在使用Humble Object测试模式来测试我的大部分单线程代码。然而,我的一些代码必须与 anExecutor或可能与 an交互ExecutorService,因为它涉及任务的 调度和重新提交,并且它将以一种不平凡的方式进行。测试代码是这里的挑战。这些任务更新一个共享对象,该对象保存其结果和输入数据。我想推迟使该共享对象线程安全,直到我实现并调试了调度和重新提交代码。

java multithreading unit-testing executor

5
推荐指数
1
解决办法
825
查看次数

如何证明多线程有效?

如何证明多线程在我的C#程序中有效?这是针对测试要求的.例如,我将不得不在记录器类中添加一些锁定(是的,我知道,我不应该编写自己的日志类),我需要一个测试用例来证明更改是有效的.

c# testing multithreading

3
推荐指数
2
解决办法
762
查看次数

标签 统计

multithreading ×3

unit-testing ×2

c# ×1

executor ×1

java ×1

testing ×1