下面的代码,会使32核linux服务器志强e5的cpu使用率达到3200%,然后别的什么程序都跑不了。

如果windows,cpu使用率会达到100%。这是计算方式有点区别。

个人计算机,除非你是8路 i9 9900k并联的超级计算机 ,可以确定的是任何价格在5万人民币以下的电脑都会把鼠标键盘鼠标卡得动不了。

import multiprocessing

def f():
while 1:
pass if __name__ == '__main__':
for _ in range(32):
multiprocessing.Process(target=f).start() while 1然后里面什么都不做只写个pass,有的人说既然是pass,那么cpu肯定使用率很低,
这个意识有点差,代码一直在while1 和 pass这两行无限快速跳来跳去,是一直要耗费cpu的。 为了赌这个代码费不费cpu,还赢得了一个免费晚餐。 发结果截图: 这是windwos电脑,12核24线程的洋垃圾,cpu直接打满,鼠标卡得动弹不了。


linux的截图,这个是双路e5 2650,16和32线程。每个py进程都达到100%,直接使总cpu使用率达到3200%。
单个python进程最高只能使用100%的cpu使用率,单个java最高可以使用3200%的cpu使用率,所以py在cpu密集型计算后开多进程非常有必要。


打这个赌得到免费晚餐,兼职太容易。while 1: pass虽然啥都不做,但是解释器需要一直循环运行了 这两句,怎么可能不要cpu?
大家在设计代码时候要避免这样while 1无限死循环中运行代码,一定最少要sleep哪怕是0.00001 秒也会大大减少cpu使用率。

python while 1 然后pass会发生什么?的更多相关文章

  1. Python 为什么要有 pass 语句?

    本文出自"Python为什么"系列,请查看全部文章 关于 Python 中的pass语句,它似乎很简单(只有 4 个字母),即使是没有任何编程经验的初学者也能很快地掌握它的用法. ...

  2. python的continue和pass的区别

    a = 'pythyon' i = 2 for element in a: if element == 'y': pass i = 3 else: print(element+str(i)) 结果: ...

  3. Python pass 语句使用示例

    Python pass 语句的使用方法示例.Python pass是空语句,pass语句什么也不做,一般作为占位符或者创建占位程序,是为了保持程序结构的完整性,pass语句不会执行任何操作,比如: P ...

  4. Python 的 pass 语句

    Python pass是空语句,是为了保持程序结构的完整性. pass 不做任何事情,一般用做占位语句. 例子1: if __name__ == '__main__': pass 例子2: # 输出 ...

  5. Python pass 语句

    Python pass 语句 Python pass是空语句,是为了保持程序结构的完整性. pass 不做任何事情,一般用做占位语句. Python 语言 pass 语句语法格式如下: pass 实例 ...

  6. python中break、continue 、exit() 、pass终止循环的区别

    python中break.continue .exit() .pass区分 1.break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或while循环. b ...

  7. 小朋友学Python(3)

    运算符 一.基本运算符 Python运算符多数与C/C++/Java类似,但有少数不一样. “/”表示求商,“//”求商的整数部分.11 / 2 = 5.500000, 11 // 2 = 5 “** ...

  8. 【Python笔记】Python语言基础

    Python是一种解释性(没有编译).交互式.面向对象的语言 1.安装python编译器 版本:Python2.7比较普遍,Python不是向下兼容的软件,因此Python3.x有些东西不好找资料 2 ...

  9. python中的异常处理try/except/finally/raise

    异常发生在程序执行的过程中,如果python无法正常处理程序就会发生异常,导致整个程序终止执行,python中使用try/except语句可以捕获异常. try/except 异常的种类有很多,在不确 ...

随机推荐

  1. (一)Kubernetes 系统基础

    Kubernetes介绍 什么是Kubernetes? Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. 使用Kubernetes可以: ...

  2. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  3. POJ 3322 Bloxorz

    #include<cstring> #include<algorithm> #include<iostream> #include<cstdio> #i ...

  4. 最近走过的坑 :slf4j 多个实现 hibernate 类型转换异常 bean依赖问题

    最近走过的坑 slf4j 多个实现 主要是maven依赖中存在多个slf4j的实现类,在引入的依赖中排除对应的依赖就可以 <dependency> <groupId>xxxxx ...

  5. 201671030117 孙欢灵 实验十四 团队项目评审&课程学习总结

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 课程学习目标 (1)掌握软件项目评审会流程:(2)反思总结课程学习内容 任务一:团队项目审核已完成.项目验收过程意见表已上交. 任务二:课程学习 ...

  6. IEnumerable,ICollection ,

    一般规定——IEnumerable < >(MSDN:http://msdn.microsoft.com/en-us/library/system.collections.ienumera ...

  7. wordpress下一篇next_post_link函数的使用方法

    我们在用wordpress开发时经常会用到上一篇下一篇的功能,<?php previous_post_link('%link') ?> <?php next_post_link('% ...

  8. SSM项目day4 Oracle批量插入数据bug <foreach>标签中collection属性使用的是属性名

  9. list转json数组

    lights为arraylist java后台代码: try {      org.tempuri.TLight[] lights = phlightSoapProxy.getLights();    ...

  10. Codechef July Challenge 2019 Hit the Coconuts

    假设现在有一堆数,我想要保证能取出一个,至少需要敲 (数的个数)*(这些数里的最小值)那么把这些数从大到小排序,$dp[i][j]$ 表示前 $i$ 个里面保证能取出 $j$ 个需要敲的次数.$dp[ ...