Skip to content

Commit 94e8296

Browse files
committed
Update 2015-5-13-thread.md
1 parent d5a5ded commit 94e8296

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

_posts/2015-5-13-thread.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ tags: [java]
1515

1616
***1.进程***
1717

18-
![process](http://www.codingdd.com/assets/images/2015-5-13-thread/process_m.png)
18+
![process](/assets/images/2015-5-13-thread/process_m.png)
1919
****缺点****
2020
1.性能,大量CPU与I/O操作
2121
2.创建需要大量资源
@@ -85,4 +85,4 @@ Linux系统从2.6版本开始使用了一套实现了POSIX线程标准的库-NPT
8585
>**无界队列**
8686
>使用无界队列(例如,不具有预定义容量的 LinkedBlockingQueue)将导致在所有 corePoolSize 线程都忙时新任务在队列中等待。这样,创建的线程就不会超过 corePoolSize。(因此,maximumPoolSize的值也就无效了。)当每个任务完全独立于其他任务,即任务执行互不影响时,适合于使用无界队列;newFixedThreadPool newSingleThreadExecutor。
8787
>**有界队列**
88-
>当使用有限的 maximumPoolSizes时,有界队列(如 ArrayBlockingQueue)有助于防止资源耗尽,但是可能较难调整和控制。队列大小和最大池大小可能需要相互折衷:使用大型队列和小型池可以最大限度地降低 CPU 使用率、操作系统资源和上下文切换开销,但是可能导致人工降低吞吐量。如果任务频繁阻塞(例如,如果它们是 I/O边界),则系统可能为超过您许可的更多线程安排时间。使用小型队列通常要求较大的池大小,CPU使用率较高,但是可能遇到不可接受的调度开销,这样也会降低吞吐量。
88+
>当使用有限的 maximumPoolSizes时,有界队列(如 ArrayBlockingQueue)有助于防止资源耗尽,但是可能较难调整和控制。队列大小和最大池大小可能需要相互折衷:使用大型队列和小型池可以最大限度地降低 CPU 使用率、操作系统资源和上下文切换开销,但是可能导致人工降低吞吐量。如果任务频繁阻塞(例如,如果它们是 I/O边界),则系统可能为超过您许可的更多线程安排时间。使用小型队列通常要求较大的池大小,CPU使用率较高,但是可能遇到不可接受的调度开销,这样也会降低吞吐量。

0 commit comments

Comments
 (0)