作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在第 263 页的图 12.1 中,我注意到图表以 1 开头。
然后我在第 268 页读到以下内容:
“因此,多线程性能测试通常应该与单线程性能测试混合在一起,即使您只想测量单线程性能。(这个问题在 TimedPutTakeTest 中不会出现,因为即使是最小的测试案例使用两个线程。)”
如果最小的测试用例使用2个线程,图12.1中1个线程的数据来自哪里?
感谢您的帮助。
最佳答案
图 12.1 上的标签线程数具有误导性。
它实际上是线程对的数量:
...
for (int pairs = 1; pairs <= 128; pairs *= 2) {
...
即使对于值 1,每个 TimedPutTakeTest 也使用 2 个线程(单个生产者和单个消费者)。
for (int i = 0; i < nPairs; i++) {
pool.execute(new PutTakeTest.Producer());
pool.execute(new PutTakeTest.Consumer());
}
注意:有问题的代码是 available online .
关于Java 并发实践 (2006) 图 12.1 TimedPutTakeTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52788799/
在第 263 页的图 12.1 中,我注意到图表以 1 开头。 然后我在第 268 页读到以下内容: “因此,多线程性能测试通常应该与单线程性能测试混合在一起,即使您只想测量单线程性能。(这个问题在
我是一名优秀的程序员,十分优秀!