|
|
|
Task를 사용한 Polling 구현
|
|
|
|
|
|
|
|
```csharp
|
|
|
|
|
|
|
|
int delay = 1;
|
|
|
|
var cancellationTokenSource = new CancellationTokenSource();
|
|
|
|
var token = cancellationTokenSource.Token;
|
|
|
|
var listener = Task.Factory.StartNew(() =>
|
|
|
|
{
|
|
|
|
while(true)
|
|
|
|
{
|
|
|
|
//poll HW
|
|
|
|
Thread.Sleep(delay);
|
|
|
|
if(token.IsCancellationRequested)
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
//cleanup
|
|
|
|
}, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
|
|
|
|
``` |