express-rus

BlankPageSleepTest.xaml.cs

Aug 9th, 2014
276
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Runtime.InteropServices.WindowsRuntime;
  6. using Windows.Foundation;
  7. using Windows.Foundation.Collections;
  8. using Windows.UI.Xaml;
  9. using Windows.UI.Xaml.Controls;
  10. using Windows.UI.Xaml.Controls.Primitives;
  11. using Windows.UI.Xaml.Data;
  12. using Windows.UI.Xaml.Input;
  13. using Windows.UI.Xaml.Media;
  14. using Windows.UI.Xaml.Navigation;
  15. using System.Text;
  16. using System.Threading;
  17. using System.Threading.Tasks;
  18. using System.Diagnostics;
  19.  
  20. // Документацию по шаблону элемента пустой страницы см. по адресу http://go.microsoft.com/fwlink/?LinkID=390556
  21.  
  22. namespace App3
  23. {
  24.     /// <summary>
  25.     /// Пустая страница, которую можно использовать саму по себе или для перехода внутри фрейма.
  26.     /// </summary>
  27.     public sealed partial class BlankPageSleepTest : Page
  28.     {
  29.         public BlankPageSleepTest()
  30.         {
  31.             this.InitializeComponent();
  32.         }
  33.  
  34.         /// <summary>
  35.         /// Вызывается перед отображением этой страницы во фрейме.
  36.         /// </summary>
  37.         /// <param name="e">Данные события, описывающие, каким образом была достигнута эта страница.
  38.         /// Этот параметр обычно используется для настройки страницы.</param>
  39.         protected override void OnNavigatedTo(NavigationEventArgs e)
  40.         {
  41.         }
  42.  
  43.         private void startbut_Click(object sender, RoutedEventArgs e)
  44.         {
  45.             ProgressRingmy1.IsActive = true;
  46.  
  47.             Debug.WriteLine("Main thread starting.");
  48.  
  49.             // Construct two tasks.
  50.             Task tsk = new Task(MyTask);
  51.             Task tsk2 = new Task(MyTask);
  52.  
  53.             // Run the tasks.
  54.             tsk.Start();
  55.             tsk2.Start();
  56.  
  57.             Debug.WriteLine("Task ID for tsk is " + tsk.Id);
  58.             Debug.WriteLine("Task ID for tsk2 is " + tsk2.Id);
  59.  
  60.             // Suspend Main() until both tsk and tsk2 finish.
  61.             tsk.Wait();
  62.             tsk2.Wait();
  63.  
  64.             Debug.WriteLine("Main thread ending.");
  65.             //Debug.ReadKey();
  66.             ProgressRingmy1.IsActive = false;
  67.         }
  68.  
  69.  
  70.         // A method to be run as a task.
  71.         static async void MyTask()
  72.         {
  73.             Debug.WriteLine("MyTask() #" + Task.CurrentId + " starting");
  74.  
  75.             for (int count = 0; count < 10; count++)
  76.             {
  77.                 //Thread.Sleep(500);
  78.                 await Task.Delay(500);
  79.                
  80.                 Debug.WriteLine("In MyTask() #" + Task.CurrentId +
  81.                                   ", count is " + count);
  82.             }
  83.  
  84.             Debug.WriteLine("MyTask #" + Task.CurrentId + " terminating");
  85.         }
  86.  
  87.  
  88.  
  89.     }
  90. }
RAW Paste Data