|
锁任务调用taskLock()能否从if分支中提取出来
[复制链接]
如题,在VxWorks下我看到很多人都喜欢用下面第一段的写法,而且uC/OS-II源码里也喜欢第一段的风格
而我觉得第二段的写法更简洁,只是锁任务的时间多了一个判断语句的执行时间
如果在源文件中用第二段代码将第一段替代,应该是等价的吧。。。。
哪位达人能给解释一下,谢谢:)
////////////////////第一段/////////////////////////
if (dwEnable)
{
taskLock();
Fpga_Write_Reg(FPGA_TS_WITH_CPU, 0xffff, dwBit);
Fpga_Write_Reg(FPGA_CBUS_ENABLE, 0xffff, dwBit);
taskUnlock();
}
else
{
taskLock();
Fpga_Write_Reg(FPGA_TS_WITH_CPU, 0x0000, dwBit);
Fpga_Write_Reg(FPGA_CBUS_ENABLE, 0x0000, dwBit);
taskUnlock();
}
////////////////////第二段/////////////////////////
taskLock();
if (dwEnable)
{
Fpga_Write_Reg(FPGA_TS_WITH_CPU, 0xffff, dwBit);
Fpga_Write_Reg(FPGA_CBUS_ENABLE, 0xffff, dwBit);
}
else
{
Fpga_Write_Reg(FPGA_TS_WITH_CPU, 0x0000, dwBit);
Fpga_Write_Reg(FPGA_CBUS_ENABLE, 0x0000, dwBit);
}
taskUnlock();
/////////////////////////////////////////////
|
|