美文网首页
01. 多线程Task做延迟操作

01. 多线程Task做延迟操作

作者: shannoon | 来源:发表于2017-01-11 11:00 被阅读43次

1.异步执行,不会阻塞当前线程

public CompassCalibrationTopIndicatorView()
        {
            InitializeComponent();
            BindingContext = Ioc.ViewModelLocator.GetViewModel<CompassCalibrationTopInicatorViewModel>();

            Task.Run(async () =>
            {
                await Task.Delay(3000);
                Device.BeginInvokeOnMainThread(() =>
                {
                    Button1.Status = EHButtonStatus.Selected;
                });
            });
        }

2. 同步等待,当前线程会等三秒完后继续往下执行

            var task = Task.Delay(3000);
            task.Wait();
            Button1.Status = EHButtonStatus.Selected;

3. 异步,不阻塞当前线程的执行,

Task.Delay(3000).ContinueWith((b) =>
                    {
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            TriangleImage.TranslateTo(viewModel.UiModel.IndicatorWidth * 0.5, 0);
                        });
                    });

4. await实现延迟操作

 protected override void OnAppearing()
        {
            base.OnAppearing();

            HidePopup();
        }

        private async void HidePopup()
        {
            await Task.Delay(4000);
            await PopupNavigation.RemovePageAsync(this);
        }

连续嵌套延迟

 Task.Delay(2000).ContinueWith(_ =>
            {
               //do something
            }).ContinueWith(async _ =>
            {
                await Task.Delay(2000);
               //do something

            });

相关文章

  • 01. 多线程Task做延迟操作

    1.异步执行,不会阻塞当前线程 2. 同步等待,当前线程会等三秒完后继续往下执行 3. 异步,不阻塞当前线程的执行...

  • Day18 多线程

    01.多线程技术1 02.多线程技术2 03.多线程应用 04.join 函数 耗时操作 1.耗时操作放到主线程中...

  • iOS 关于多线程(GCD)

    一、关于iOS多线程的一些简单操作 链接地址:多线程简介 二、iOS开发多线程篇—GCD的常见用法 主要为:延迟执...

  • 多线程

    多线程开发 - 异步 多线程 - 延迟 多线程 - 异步延迟 discardableResult 就是说返回值可以...

  • ios多线程操作— GCD延迟操作和相关使用方法

    ios多线程操作— GCD延迟操作和相关使用方法 0x01.iOS版本 使用GCD函数可以进行延时操作,该函数为 ...

  • 面试问题_基础03_多线程

    多线程:01.多线程介绍1).什么是"进程":"进程"是操作系统中的概念,是指一个独立运行的"程序"。操作系统会负...

  • Android异步、延迟和定时任务的简易用法

    异步多线程延迟触发循环定时触发 一、前言 项目开发中一定会用到网络请求,文件读写,开启子线程进行耗时操作,延迟返回...

  • C#并行和多线程编程

    —— 第五天 多线程编程大总结一、多线程带来的问题1、死锁问题 前面我们学习了Task的使用方法,其中Task的等...

  • 多线程:6单例模式和多线程

    单例模式和多线程 1.立即加载 2.延迟加载 2.1 延迟加载不同步在多线程环境下的问题 2.2延迟加载的解决方案...

  • 图解goCD基本概念

    Pipeline、Stage、Job & Task Task: 最小的操作单元,比如:操作一个文件,执行一行脚本。...

网友评论

      本文标题:01. 多线程Task做延迟操作

      本文链接:https://www.haomeiwen.com/subject/iftrbttx.html