0
static int initCount = 0;
int objInit(void)
{
int i;
/* Check for reentrancy */
TaskLock();
i = initCount++;
TaskUnlock();
if (i > 0)
{
while (!initialized)
TaskDelay (100);
return (OK);
}
......
}
是否應該聲明變量initCount
volatile
?應該將「initCount」變量聲明爲「volatile」嗎?
也許初始化變量應該是?這會被優化嗎? – 2013-02-27 04:38:59
@JoshPetitt也許如果它從信號處理程序修改: - ?但不知道。如果僅僅是從另一個線程修改'volatile'就不需要,同時還不夠。 – cnicutar 2013-02-27 04:40:08