说到多线程的Bug

刚才提到了多线程,想起来以前遇到的bug,记录下免得以后忘记了。

起因是一个小哥试图优化多线程的loading,在没看完其他代码的情况下,觉得应该在idle的时候把线程的priority降低,给其他更重要的革命工作让出CPU。

然后他没想到的是,loading会调用::Sleep(),结果就是idle之后常睡不醒,优先级太低了其他革命工作都忙得不行,哪有机会让loading出来说话。

他更没想到的是,其他革命工作是依赖于loading的结果的,毕竟革命也要吃饭,没有loading的数据啥也干不了。

所以结果就是loading被负优化,反而变得更慢了,整个游戏也变得更慢。老婆听我讲了这个bug之后做了个特别棒的比喻:

导游带一堆客人去景点,然后让客人自己排队入园。客人问导游你不进去么?导游说我去很多次了你们排着我在外面歇着。没想到门票都在导游手里,一堆人在门口嚷嚷半天谁也进不去,于是都等着了。

所以说优化要先做benchmark,脑补的优化基本都是负优化,没有benchmakr数据支持,你优化个毛线?这事儿我没少干过,就不多吐槽了。

但是必须强调下,文中的优化小哥可不是我,我是修bug的那个。俗话说的好,前人栽树后人乘凉,前人挖坑后人吃瘪。革命工作嘛,总是会有这样那样的问题,别抱怨了好好搬砖吧。

2 thoughts on “说到多线程的Bug”

  1. 声明:
    我叫程东东,我是中国的一个普通老百姓。这些年共产党把中国搞得越来越乱,当官的不为民着想,只知道权力斗争,好人被迫害,生存环境越来越差。我在此声明,退出共青团和少先队。
    声明人: 程东东~~~
    退:
    现在的中国,到处被污染,人心到环境,从内到外,从上到下无净土。我和儿子坚决要求退出这祸国殃民的邪恶组织,退团退队退出中国共产党!!!
    黄蕾、小黄

  2. 《共 产 党宣言》中,马 克 思首句宣告:“1848年,一个幽灵,共 产主义幽灵,在欧洲游荡。”幽灵一词在德文中还有魔鬼的意思。
    这个幽灵,在上个世纪一百年中,在全世界泛滥,屠杀了千万人的性命,剥夺了亿万人的财产甚至他们原本自由的精神和灵魂。
    中共以暴力和谎言窃取了政权。中共似乎与民 生、民 权天生有仇,扼杀 言论 自由,连秦政、晚清也不如。
    在国际社会,共 产意识形态被视为思想瘟疫,摒弃它已成世界大势。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.