Thread Pools
许多程序会动态创建数十个设置上百个线程.举个例子,一个web服务器可能在每一个新到来的请求时创建一个新线程,然后在请求完成后将其终止.
然而,创建一个新线程将会带来一定的耗费:它需要在内核中创建自身必要的数据结构(并且最终销毁),它需要一定时间来设置这些数据结构.
虽然内核对于创建一个新线程已经非常有效率了,但是那些需要创建成百上千线程的程序来说,这依然是性能的瓶颈所在.
线程池是被设计用来减轻这个问题.当程序开始时,它可能创建一定数量的线程并将他们放在线程池中.当其需要新线程时,他将从池子中获取一个,使用它来完成一些工作,并且最终放回到线程池中.有了线程池,创建新线程的花费将降至最低.
NSThread自身并不提供任何线程池的机制.在GCD(Grand Central Dispatch)之前,程序员必须自己处理线程池.而使用前面介绍的GCD,线程池将在幕后被处理,使得特定硬件上运行程序时,使用成百上千的线程将会非常有效率和最优化!
Thread Pools的更多相关文章
- Java theory and practice: Thread pools and work queues--reference
Why thread pools? Many server applications, such as Web servers, database servers, file servers, or ...
- Thread pools & Executors
Thread pools & Executors Run your concurrent code in a performant way All about thread pools # H ...
- 小规模的流处理框架.Part 1: thread pools
原文链接:http://ifeve.com/part-1-thread-pools/ 很不错的一篇文章
- The CLR's Thread Pool
We were unable to locate this content in zh-cn. Here is the same content in en-us. .NET The CLR's Th ...
- Improve Scalability With New Thread Pool APIs
Pooled Threads Improve Scalability With New Thread Pool APIs Robert Saccone Portions of this article ...
- CLR thread pool
Thread Pooling https://msdn.microsoft.com/en-us/library/windows/desktop/ms686756(v=vs.85).aspx Threa ...
- java thread reuse(good)
I have always read that creating threads is expensive. I also know that you cannot rerun a thread. I ...
- Thread -- Request
Servlet容器应该绝大部分(有可能全部)是Thread per Request,每个请求一个线程.此外有Thread per Connection,应该不是用于Servlet容器.请见 How a ...
- How does a single thread handle asynchronous code in JavaScript?
原文:https://www.quora.com/How-does-a-single-thread-handle-asynchronous-code-in-JavaScript ----------- ...
随机推荐
- [LeetCode] Max Consecutive Ones 最大连续1的个数
Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1, ...
- [JSOI 2008]最大数
Description 题库链接 给你一个序列,初始为空.资瓷下列操作: 在序列末尾加上一个数: 查询后 \(L\) 个数中的最大值. 操作总数为 \(m\) , \(1\leq m\leq 2000 ...
- [HAOI 2007]反素数ant
Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数 ...
- [Codeforces 864B]Polycarp and Letters
Description Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s con ...
- codesforces 671D Roads in Yusland
Mayor of Yusland just won the lottery and decided to spent money on something good for town. For exa ...
- 冰精冻西瓜[P3787洛谷]
题目描述 琪露诺是拥有操纵冷气程度的能力的妖精,一天她发现了一片西瓜地.这里有n个西瓜,由n-1条西瓜蔓连接,形成一个有根树,琪露诺想要把它们冷冻起来慢慢吃. 这些西瓜蔓具有神奇的性质,可以将经过它的 ...
- ●洛谷 P3616 富金森林公园
题链: https://www.luogu.org/problemnew/show/3616 题解: 树状数组,,, 本题思路挺巧妙. 考虑这种暴力算法:(设H[i]为i位置的高度,水面的高度为B) ...
- 2015 多校联赛 ——HDU5325(DFS)
Crazy Bobo Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Tota ...
- 2015 多校联赛 ——HDU5301(技巧)
Your current task is to make a ground plan for a residential building located in HZXJHS. So you must ...
- PHP 扩展开发检测清单(扩展开发必读)
想要做出一个成功的 PHP 扩展包,不仅仅是简单的将代码放进文件夹中就可以了,除此之外,还有非常多的因素来决定你的扩展是否优秀.以下清单的内容将有助于完善你的扩展,并且在 PHP 社区中得到更多的重视 ...