C# 如何休眠/延迟后台工作线程

C# 如何休眠/延迟后台工作线程,c#,multithreading,windows-phone-8.1,C#,Multithreading,Windows Phone 8.1,我正在开发一个Windows phone应用程序。我需要在不中断前端的情况下每一分钟向web服务发送一个请求。所以我创建了一个后台工作人员。如果我得到数据,我必须在不同的条件下运行四个方法。在中,每个方法都包含一个声音文件(长度为5秒)。当我运行程序时,如果我调用其中两个方法,听起来是混合的。所以我试着去睡后台工作线程。但是我找不到CurrentThread实例的sleep方法。当我使用Thread.Sleep(5000)时在线程唤醒(5秒)之前,我无法访问前端。如何休眠背景线程?或者如何延迟到

我正在开发一个Windows phone应用程序。我需要在不中断前端的情况下每一分钟向web服务发送一个请求。所以我创建了一个
后台工作人员
。如果我得到数据,我必须在不同的条件下运行四个方法。在中,每个方法都包含一个声音文件(长度为5秒)。当我运行程序时,如果我调用其中两个方法,听起来是混合的。所以我试着去睡后台工作线程。但是我找不到
CurrentThread
实例的sleep方法。当我使用
Thread.Sleep(5000)时在线程唤醒(5秒)之前,我无法访问前端。如何休眠背景线程?或者如何延迟到第一个声音结束

提前谢谢

下面的方法之一

public void NotificationForNewjob()
{
    Stream stream = TitleContainer.OpenStream("Assets/NewJob.wav");
    SoundEffect effect = SoundEffect.FromStream(stream);
    FrameworkDispatcher.Update();
    effect.Play();
    //bool x = Thread.CurrentThread.IsBackground;
    //Thread.Sleep(5000);
    //Thread.CurrentThread.
    //Setting.IsDownload = false;
}

如果要调试后台任务,请检查以下内容:

是否在后台线程上调用
NotificationForNewJob
?因为我们在您的代码中没有看到它。当我检查Thread.CurrentThread.IsBackground属性x为true时,在上述方法中是的。如果您使用的是Windows Phone,则应使用async Wait内容,而不是线程<代码>线程。睡眠
非常昂贵。使用
等待任务。改为延迟