如何睡眠/延迟后台工作者线程

时间:2015-05-21 09:15:08

标签: c# multithreading windows-phone-8.1

我正在开发Windows手机应用程序。我需要每隔一分钟向Web服务发送一个请求,而不会中断前端。所以我创建了一个BackgroundWorker。如果我得到数据,我必须在不同条件下运行四种方法。在每个方法中都包含一个声音文件(长度为5秒)。当我运行程序时如果我调用其中两种方法,则声音混合在一起。所以我试着睡觉那个后台工作者线程。但我找不到CurrentThread实例的睡眠方法。当我使用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;
}

1 个答案:

答案 0 :(得分:0)