private void ConsumeStatuses()
{
while (true)
{
try
{
StatusViewModel status = null;
lock (lockUpdateQueue)
{
while (statusUpdateQueue.Count == 0)
{
Monitor.Wait(lockUpdateQueue, TimeSpan.FromSeconds(refreshTimeSec));
}
status = statusUpdateQueue.Dequeue();
}
if (status == null)
{
break;
}
if (view.Statuses[0].StatusId < status.StatusId)
{
RetriveStatusHyperlinks(status);
view.AddStatus(status, true);
}
}
catch (Exception exp)
{
view.Error = exp;
}
}
}