저는 ASP.NET 환경에서 SignalR을 사용하여 여러 위젯이 포함 된 실시간 대시 보드를 구축하고 있습니다. 모든 위젯이 기본 데이터를로드 한 후에는 각 위젯이 독립적으로 데이터를 업데이트해야합니다. 즉, 여러 타이머를 사용하여 데이터베이스에서 데이터가 업데이트되고 있음을 의미합니다.대시 보드 위젯을 업데이트하기위한 C 타이머 및/또는 잠금 사용
public static void Init(){
Stopwatch.Start();
_timer = new Timer(_ =>
{
if (_updating)
{
return;
}
_updating = true;
try
{
var timeDiffSecs = Stopwatch.Elapsed.TotalSeconds;
Stopwatch.Restart();
if (timeDiffSecs <= 0)
{
return;
}
//DoMyActionForUpdate
}
finally
{
_updating = false;
}
}, null, TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(3));
}
당신의 GUI (WPF, Windows Forms 등)에 어떤 프레임 워크를 사용하고 있습니까? – dsolimano
어떤 종류의 타이머입니까? 그것이 'DispatcherTimer' 또는 Windows.Forms.Timer 인 경우 UI 스레드에서 실행됩니다 ... – davisoa
@dsolimano 그는 SignalR과 ASP.NET을 사용하고 있다고 말했습니다. GUI가 없습니다. –