我的职责是收集不同类型的深层镜子,每秒钟就需喷洒透镜。 我现在同意:
bool isTime( Time t )
{
return t >= now();
}
void spawner()
{
Time t = now();
while( 1 )
{
if( isTime( t ) )//is time is called in more than one place in the real function
{
//launchthread and recalculation of t only happens once in real function
launchthread()
t = now() + offset;
}
}
}
但我想将其改为:
bool isTime()
{
static Time t = now();
if( t >= now() )
{
t = now() + offset;
return true;
}
return false;
}
void spawner()
{
while( 1 )
{
if( isTime() )
launchthread();
}
}
我认为,第二种方式是轻视的,但我通常以同样的方式避免静态,避免全球数据;任何人对不同风格有任何想法?