Вы можете вызывать функцию со своим внешним кодом изнутри блокировки и даже из оператора else.Это, по крайней мере, уменьшит ваши накладные расходы и повторяющийся код.
if(flag==true){
lock(dataLock){
fewLines();
}
}else{
fewLines();
}
[...]
public void fewLines(){
// put your few lines here.
}
, который будет запускать функцию из заблокированного контекста.