《Java并发编程实战》的笔记-设置线程池的大小

红色有角F叔
红色有角F叔 (次元の呪い)

读过 Java并发编程实战

  • 章节名:设置线程池的大小
  • 2014-05-31 12:32:42
89人阅读

2014-05-31 13:30:02 2sin18°

额外的线程在很多情况下会造成无谓的上下文切换吧。。。如果出现页缺失这样的故障会抵消掉上下文切换的损失是不是意味着算法有可观的改进空间?

2014-05-31 13:32:46 红色有角F叔

PageFault 算是偶尔的吧,应该不会太严重?

2014-05-31 13:53:37 2sin18°

是啊 我觉得是设计良好的算法 page fault 应该不会带来比多一个线程造成的上下文切换更大的开销 所以计算密集型程序 N 个处理器 N 个线程才最合理

2014-05-31 13:56:24 红色有角F叔

可惜书上没给数据 可以试验一下? ●ω●

2014-05-31 13:59:34 2sin18°

可以 试一下 计算 pi 的程序

2014-05-31 15:14:14 2sin18°

我用pthread试了,每组运行三次取最后一次,还是N=处理器数最快,这还没有设置CPU Affinity。Java 应该是类似才对

> 红色有角F叔的所有笔记(634篇)

红色有角F叔对本书的所有笔记  · · · · · ·

  • 使用 CompletionService 实现页面渲染器

    因此,CompletionService 的作用就相当于一组计算的句柄,这与 Future 作为单个计算的句柄是非常...

  • 中断策略

    对于非线程所有者的代码来说,应该小心地保存中断状态,这样拥有线程的代码才能对中断做出响应。...

  • 设置线程池的大小
  • 管理队列任务

    如果线程池较小而队列较大,那么有助于减少内存使用量,降低 CPU 的使用率,同时还可以减少上下..

  • 动态的锁顺序死锁

    有时候,并不能清楚地知道是否在锁顺序上有足够的控制权来避免死锁的发生。

说明  · · · · · ·

表示其中内容是对原文的摘抄