2012-06-12 56 views

回答

2

总之,

  • 首先断言,关于线程工作运行的代码。功能明智。简单的单元测试 - 没有线程。您可以提取一个抽象出线程方面的类型(样例名称Executor)。例如执行(代码块),该代码块生成执行代码块的生产中的新线程。在测试中,代码块在调用线程上执行 - 就像函数调用一样。
  • 接下来写一个使用生产执行程序的压力测试。产生多个线程并在你的不变式上声明。即不管有多少线程被产生,都必须/不可能发生的事情。

还有一些其他的细微差别这个 - 根据您是否正在产卵多线程(活动),或者你是否正在呼吁在不同的线程(被动)。我建议你阅读SteveFreeman和NatPryce在GOOS书中关于线程的章节