private void Run()
{
while (_running)
{
try
{
Action item = _works.Dequeue();
if (item == null)
break;
item();
}
catch (JobCanceledException)
{
break;
}
catch (Exception e)
{
Logger.Err(LogMask.Aegis, e.ToString());
}
}
}