相关疑难解决方法(0)

如何使用连续循环创建线程/任务?

我正在寻找正确的方法/结构来创建一个循环Thread/Task...

原因是,我需要每15秒检查一次数据库以获取报告请求.

这是我到目前为止所尝试的,但我得到OutOfMemoryException:

    private void ViewBase_Loaded(object sender, RoutedEventArgs e)
{
    //On my main view loaded start thread to check report requests.
    Task.Factory.StartNew(() => CreateAndStartReportRequestTask());
}

private void CreateAndStartReportRequestTask()
{
    bool noRequest = false;

    do
    {
         //Starting thread to Check Report Requests And Generate Reports
         //Also need the ability to Wait/Sleep when there are noRequest.
         reportRequestTask = Task.Factory.StartNew(() => noRequest = CheckReportRequestsAndGenerateReports());

         if (noRequest)
         {
             //Sleep 15sec
             reportRequestTask.Wait(15000);
             reportRequestTask = null;
         }
         else
         {
             if (reportRequestTask.IsCompleted)
             { …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading thread-safety multitasking

31
推荐指数
3
解决办法
6万
查看次数

标签 统计

.net ×1

c# ×1

multitasking ×1

multithreading ×1

thread-safety ×1