carlzj 2016-07-27 14:47 采纳率: 100%
浏览 976
已采纳

UWP中如何利用异步编程跳出死循环

UWP中,我设置了两个按钮,单击第一个按钮进行一个循环,单击第二个按钮停止这个循环,但是不管怎么处理按下第一个按钮以后都成了一个死循环,程序呈现卡死状态,如何能够解决?

  • 写回答

2条回答 默认 最新

  • carlzj 2016-07-28 14:58
    关注

    又是一个自己解决的问题。。。

            private async void FirstButton_Click(object sender, RoutedEventArgs e)
            {
                SecondButton.Visibility = Visibility.Visible;
                FirstButton.Visibility = Visibility.Collapsed;
    
                try
                {
                    do
                    {
                        //写要循环的内容
                    } while (SecondButton.Visibility == Visibility.Visible);
                }
                catch (Exception){ //写error情况 }
            }
    
                     async Task<int> name() // name为自己定义的函数
            {
                        await Task.Delay(10); // ()里面的数字单位是ms
                            return value; // value自己定义
                    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2016-07-27 14:52
    关注

    看你的循环怎么写,在第一个按钮的循环里增加一个信号量的判断,如果设置就退出,在另一个按钮设置信号量。

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 机器人MATLAB仿真示教占内存过大
  • ¥15 JSR233已经使用但是仍无法将csv数据放到一个list里显示出来,如何解决?
  • ¥15 I350 Gigabit Network
  • ¥15 关于#abap#的问题,请各位专家解答!
  • ¥20 内网通过公网访问外网问题
  • ¥20 谁有这个东西 继续教育的
  • ¥15 怎么使请求通过cors
  • ¥15 WDM 驱动ACPI 相关疑问
  • ¥15 LQR的状态空间方程不标准以及代价函数中为状态量的运算,如何处理?
  • ¥15 prism 跨窗体共享数据绑定 wpf