carlzj
carlzj
采纳率92.9%
2016-07-27 14:47 阅读 967
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    carlzj 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自己定义
                    }
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-07-27 14:52

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

    点赞 评论 复制链接分享

相关推荐