免费阅读
返回
菜单
上一章查看最新章节下一章

第九章 冲刺期的第一个Bug

作品:游戏二十四品作者:殊胜玩家
如果本章错误,请点击报错10秒纠正

g。加了更多日志,在可能出问题的锁同步处埋了十几个断点,重新编译,运行测试程序。

这一次,Bug在第三次测试时就出现了。世界卡在0.3倍慢放,李师傅的动作像在水里走路,一帧一帧地挪。日志文件滚屏,他一行行看,眼睛发酸。

忽然,他注意到一行奇怪的日志:

[TimeSystem] Thread conflict detected at timestamp 120.5s.

[RenderThread] Acquired lock at 120.5001s.

[TimeThread] Acquired lock at 120.5001s.

时间戳完全一样。两个线程,在同一毫秒内,获取了同一把锁。理论上不可能,除非系统时钟精度不够,或者锁的实现有漏洞。

他查代码。用的是标准的CRITICAL_SECTION锁,Windows自带的,不应该有问题。除非……他想到一个可能性:在“无事可做”状态下,时间系统会分裂成两条时间轴,每条时间轴都有自己的锁。当玩家退出静止状态,两条时间轴要合并时,需要同时获取两把锁。如果获取顺序不对,可能死锁。

他翻到合并逻辑的代码。果然,写成了:

lock(timeLock_室内);

lock(timeLock_窗外);

// 合并逻辑

unlock(timeLock_窗外);

unlock(timeLock_室内);

而另一个地方,渲染线程更新窗外光影时,顺序是:

lock(timeLock_窗外);

lock(timeLock_室内);

// 更新逻辑

unlock(timeLock_室内);

unlock(timeLock_窗外);

经典的死锁条件:线程A锁了1,等2;线程B锁了2,等1。平时很难触发,因为两个线程很少同时卡在这个点上。但在“无事可做”状态下,时间系统频繁分裂合并,渲染线程又要频繁更新窗外光影,撞上的概率就大了。

他修改代码,强制统一锁的获取顺序:永远先锁室内,再锁窗外。重新编译,运行测试程序。

跑完十次,没出现Bug。二十次,没

…。。
   本章没完,请点击下—页继续阅读!如果被转码了请退出转码或者更换浏揽器即可。
  温馨提示:亲爱的读者,如果你觉得本站还好,为了避免丢失和转马,请勿依赖搜索访问,建议你使用[华为刘揽器]或[Firefox火狐刘揽器]访问并收蔵【祭司书院】 m.jsshengmin.com。我们将会持续为你更新,还建议你注册会员使用书架功能追书阅读更方便。
上一页 23456下一页
上一章查看最新章节下一章
临时书架加入书签回顶部↑

看了《游戏二十四品》的书友还喜欢看

诸天:开局拐走雄霸之女幽若
作者:一个大兵55
简介: 觉醒穿越诸天的超能力,空降风云世界湖心小筑,开局被幽若用剑指着脖子。
更新时间:2026-03-03 23:30:23
最新章节:第197章指点灵感大王,得《黑水诀》
死亡回档,48小时拯救世界
作者:稻香锅巴
简介: 一场车祸,让王聪获得了

“死亡回档”的能力!?\n正当他准...
更新时间:2026-03-03 23:37:32
最新章节:第241章 方牌线索!
顶级驯服
作者:南巷茶茶
简介: 【阴暗偏执野心家VS高岭之花下神坛】……陈迦是被人抱错的真千金。

...
更新时间:2026-03-03 23:23:47
最新章节:第72章 豪赌
被休后,每日情报助我熬过荒年
作者:慕莲莲
简介: 灾荒+系统+日常流+发家致富+极品不多+无空间\n李木槿在末世挣扎求生了一年,死于饥...
更新时间:2026-03-03 23:35:18
最新章节:第371章 他是谁?
恋痛癖
作者:水无伶
简介: 杭意追谢铮玉的时候,图财,图色,别人骂她自不量力。结果不仅真让她得逞,还扭脸把人甩了...
更新时间:2026-03-03 23:36:25
最新章节:第65章 泼脏水
鸿蒙霸体诀
作者:鱼初见
简介: 十万年前,九位风姿卓绝,独断万古的女帝,妖后,被封印于鸿蒙金塔之中。
更新时间:2026-02-26 22:55:39
最新章节:第2924章 金皇丹
书名:

本站若有图片广告属于第三方接入,非本站所为,广告内容与本站无关,不代表本站立场,请谨慎阅读。

Copyright © 2020 祭司书院 All Rights Reserved.kk

SiteMap