1.垃圾回收器期职责 3.垃圾回收器概念 3.1.垃圾回收器期望的性能 堆太小,容易被填满,垃圾回收搜集的频率高,回收速度快。 堆太大,不容易填满,垃圾回收的频率低,回收速度慢。 3.2.可选的设计方案 1.串行回收器 VS 并行回收器 串行回收器不能更好的利用多核CPU,只能使用一个核. 并行回收 ...
分类:
其他好文 时间:
2018-12-24 02:50:46
阅读次数:
170
小白的理解: 并发:指多个任务可以在重叠的时间段内启动 运行 完成,你可以把任务当成函数来想。 并行:指多个任务可以同时运行,比如在具有多核CPU的计算机上,每个核心处理一个任务,同时进行 并发是一次性处理很多事情,并行是同事做很多事情: —— 这句话怎么理解呢? —— 比如:你正在吃饭的时候,电话 ...
分类:
其他好文 时间:
2018-12-08 17:08:25
阅读次数:
156
Zabbix2.0后,自带的TemplateOSLinux模版中Processorload检测的值为percpu,即每一个CPU的load,如果为多核CPU的话,这里获取到的值就不是全部CPU的,自然与在系统中执行uptime命令获取到的load值不符,并且模版中自带触发器的报警阈值也相当高,没记错的话应该是4还是5,这就造成一个情况,明明机器的CPU负载很高,zabbix确不报警,此是大坑之一.
分类:
其他好文 时间:
2018-11-26 02:32:29
阅读次数:
478
GIL的全称是:Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython,Pypy 为什么会有gil?: 随着电脑多核cpu的出现核cpu频率 ...
分类:
编程语言 时间:
2018-11-25 22:22:19
阅读次数:
455
一、进程 1、多任务原理 多任务是指操作系统同时可以运行多个任务。 单核CPU实现多任务原理:操作系统轮流让各个任务交替执行; 多核CPU实现多任务原理:真正的执行多任务只能在多核CPU上实现,多出来的任务轮流调度到每个核心上执行。 并发:看上去一起执行,任务数多于CPU核心数; 并行:真正的一起执 ...
分类:
编程语言 时间:
2018-11-24 22:25:02
阅读次数:
206
python 在执行的时候会淡定的在CPU上只允许一个线程运行,故Python在多核CPU的情况下也只能发挥出单核的功能,其中的原因:gil锁 gil 锁 (全局解释器锁):每个线程在执行时都需要先获取gil 一个线程运行Python,而其他N个睡眠或者等待I/O(即 保证同一时刻只有一个线程丢共享 ...
分类:
编程语言 时间:
2018-11-23 20:51:33
阅读次数:
219
一、多线程与多进程的对比 在 "python 进程、线程 (一)" 中简单的说过,CPython中的GIL使得同一时刻只能有一个线程运行,即并发执行。并且即使是多核CPU,GIL使得同一个进程中的多个线程也无法映射到多个CPU上运行,这么做最初是为了安全着想,慢慢的也成为了限制CPython性能的问 ...
分类:
编程语言 时间:
2018-11-22 20:39:12
阅读次数:
188
多进程 进程:正在进行的过程或者说是一个任务,而负责执行任务则是cpu 同一个程序执行两次是两次进程 并发: 并行:基于多核cpu unix开子进程的拷贝一份父进程的数据 进行的三个状态:运行,阻塞,就绪 在python中如何开启子进程 1. multiprocessing模块中的process类 ...
分类:
编程语言 时间:
2018-11-14 12:28:02
阅读次数:
155
multiprocessing python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成 ...
分类:
系统相关 时间:
2018-11-08 01:17:21
阅读次数:
226
一、multiprocessing 模块介绍 Python 中的多线程无法利用多核优势,如果想要充分地使用多核 CPU 的资源(os.cpu_count()查看),在 Python 中大部分情况需要使用多进程。Python提供了 multiprocessing。 multiprocessing 模块 ...
分类:
编程语言 时间:
2018-11-08 01:12:37
阅读次数:
170