算法与数据结构
涂有
架构世界,架构未来
展开
-
线程池大小,线程数计算公式
有一个简单并且适用面比较广的公式:CPU 密集型任务(N+1): 这种任务消耗的主要是 CPU 资源,可以将线程数设置为 N(CPU 核心数)+1,比 CPU 核心数多出来的一个线程是为了防止线程偶发的缺页中断,或者其它原因导致的任务暂停而带来的影响。一旦任务暂停,CPU 就会处于空闲状态,而在这种情况下多出来的一个线程就可以充分利用 CPU 的空闲时间。I/O 密集型任务(2N): 这种任务应用起来,系统会用大部分的时间来处理 I/O 交互,而线程在处理 I/O 的时间段内不会占用 CPU 来处理.原创 2019-12-28 11:06:46 · 3071 阅读 · 0 评论 -
数据结构与算法 简记
栈当有一个出栈,有一个就进栈的情况,可以用一个数组的两端来存储两个栈用栈可以消除递归为什么我的迭代比递归慢呢?二叉树满二叉树节点要么是有两个子节点,要么就是叶子节点Huffman编码就是满二叉树特性:非空满二叉树的叶节点等于分支节点数加1完全二叉树新增节点都是从左到右,添加叶子节点,直到一层添加满,再起一层。堆原创 2017-12-25 18:06:13 · 257 阅读 · 0 评论