Java多线程编程实战指南读书笔记三
线程数设置的原则 对于CPU密集型线程,考虑到这些线程执行任务值消耗的主要是处理器资源,我们可以将线程数设置为$N_{cpu}$,有事也可以设置为$N_{cpu}+1$ 对于I/O密集型线程,考虑到I/O操作可能导致上下文切换,为这样的线程设置过多的线程数会导致过多的额外系统开销,如果一个工作线程能够满足旧不需要设置更多的线程,如果一个工作者线程不够用,我们可以考虑将这类线程的数量设置为$2*N_{cpu}$ 等待与通知:wait/notify一个线程因为执行目标动作所需的保护条件未满足而被暂停的过程就被称为等待,一个线程更新了系统的状态,使得其它线程所需要的保护条件得以满足的时候唤醒那些被暂停的线程的过程被称为通知。 wait/notify的作用与用法Java平台中Object.wait()/Object.wait(long)和Object.notify()/Object.notifyAll()可用于实现等待和通知。
