九五小说网

繁体版 简体版
九五小说网 > 字节跳动 > 第39章 源代码

第39章 源代码

看看英文注释,实在有点看不懂,干脆还是查中文api说明吧。

sourcepower:混合能量驱动api,专门用于多能量源驱动编程时的能量切换,分为主动切换、被动切换、同步切换和异步切换四种模式。具体模式的使用,取决于对应的应用场景,由调用者自主选择使用

看完了说明,开始正式研究代码实现逻辑。四种切换模式各有一个程序方法负责本身的逻辑实现,除此之外,还有一个兼容方法,负责在这几种模式之间进行强制转换的时候,进行兼容性处理。

舒朗一直研究到深夜。

四种模式的实现源码无懈可击,舒朗不仅看懂了,还从中学会了好几招高大上的代码写法。

但当他看到兼容方法的时候,突然眉头一紧。虽然代码逻辑表面上看起来是对的,但是直觉告诉他,这里很可能会有风险。

他把四种模式的强制转换情况,依次代入代码逻辑,发现由异步切换强制转到同步切换的时候,有一个特殊的计数逻辑好像有问题。

标准的计数都是从0开始的,这个逻辑也不例外,但是因为这是一个循环计数逻辑,当累计计数超过16的时候,需要从头开始加载计数。

异步切换和同步切换之间,有一个特殊的强制转换占位标记,如果仍然从0开始计数,累计到15的时候就会重新加载,比预计的循环逻辑提前一个计数位进入下一个循环。

以此类推,每一次循环提前退一位,15次以后将无位可退,必然会导致整个切换程序崩溃!

这就是源码中的bug!

当然了,这是一种极端情况,谁闲的没事会进行15次以上的能量源切换呢?还必须得是异步变同步!

这bug被触发的几率,估计连万分之一都不到。

不过舒朗突然想到了一点,刘昊然那个极速靴的代码里,也是多能量源驱动,那里提示的bug不会是由这个源码的bug引起的吧?

太恐怖了!

真要是这样,那岂不是说刘昊然写的代码里根本绝对完全彻底就没bug?

『加入书签,方便阅读』