private void Routine() { Action job = null; if (jobs_.Count != 0) { job = jobs_.Pull(); } if (job == null) { Thread.Sleep(50); } else { try { job(); } catch (Exception ex) { Diagnose.TraceError( "Worker", "Routine", ex.Message); } } }