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