예제 #1
0
        void OpenThreadingViewer()
        {
            ThreadingViewModel workspace = ViewModelLocator.GetThreadingViewModel();

            this.Workspaces.Add(workspace);
            this.SetActiveWorkspace(workspace);
        }
예제 #2
0
        private static string BackGroundTask2(ThreadingViewModel tvm)
        {
            int counter = int.Parse(tvm.Input.ToString());

            for (int i = 0; i < counter; i++)
            {
                Thread.Sleep(1000);
                tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Delegate running.....";
            }
            return("Delegate Done.");
        }
예제 #3
0
        private static void BackGroundTask4(object vm)
        {
            ThreadingViewModel tvm = vm as ThreadingViewModel;
            int _counter           = int.Parse(tvm.Input.ToString());

            tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Task starting.....";

            for (int i = 0; i < _counter; i++)
            {
                Thread.Sleep(1000);
                tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Task running.....";
            }

            tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Task finished.....";
        }
예제 #4
0
        private static Task BackGroundTask5(object vm, CancellationToken cancellationToken)
        {
            return(Task.Run(() =>
            {
                ThreadingViewModel tvm = vm as ThreadingViewModel;
                int _counter = int.Parse(tvm.Input.ToString());

                tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Await Task starting.....";

                for (int i = 0; i < _counter; i++)
                {
                    if (cancellationToken.IsCancellationRequested)
                    {
                        tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Await Task cancelling.....";
                        return;
                    }
                    Thread.Sleep(1000);
                    tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Await Task running.....";
                }

                tvm.Output = tvm.Output + "\r\n" + GetThreadID() + "Await Task finished.....";
            }));
        }