异步任务队列,十分好用

using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine; /// <summary>
/// 异步任务队列
/// </summary>
public class AsyncQueueTask
{
public delegate Task<bool> TaskDel(object data);
private bool isWait; //方法队列
Queue<TaskDel> taskQueue = new Queue<TaskDel>();
//参数队列
Queue<object> paraQueue = new Queue<object>(); /// <summary>
/// 调用这个即可
/// </summary>
/// <param name="ac">方法</param>
/// <param name="data">参数</param>
public void AddQueueTask(TaskDel ac, object data)
{
Debug.Log("入队");
taskQueue.Enqueue(ac);
paraQueue.Enqueue(data);
StartTask();
} async void StartTask()
{
if (!isWait && taskQueue.Count != 0)
{
isWait = true;
await taskQueue.Peek()(paraQueue.Peek());
Debug.Log("出队");
taskQueue.Dequeue();
paraQueue.Dequeue();
isWait = false;
StartTask();
}
}
}

c# unity 异步任务队列的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. Django使用Celery异步任务队列

    1  Celery简介 Celery是异步任务队列,可以独立于主进程运行,在主进程退出后,也不影响队列中的任务执行. 任务执行异常退出,重新启动后,会继续执行队列中的其他任务,同时可以缓存停止期间接收 ...

  3. Swoole来实现实时异步任务队列

    假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站!但实际上,我们很可能有超过1万的邮件.怎么处理这个延迟的问题?答案就是用异步.把“发邮件”这个操作封装,然后后台异步地执行1万遍 ...

  4. PHP使用swoole来实现实时异步任务队列

    转载来自第七星尘的技术博客的<PHP使用swoole来实现实时异步任务队列> 关于异步任务队列 用户打开了我们的网站.他要做的就是勾选需要发邮件的代理商列表,然后把结算邮件发出去.假如我们 ...

  5. redis实现异步任务队列

    redis实现异步任务队列 先说思路: 将任务对象序列为JSON字符串,然后推入REDIS缓存,这叫入队. 通过独立的工作线程从REDIS拉出一个任务,这叫出队,工作线程将JSON字符串还原为任务对象 ...

  6. c# 异步任务队列(可选是否使用单线程执行任务,以及自动取消任务)

    使用demo,(.net framework 4.0 自行添加async wait 扩展库) class Program { static void Main(string[] args) { Con ...

  7. Python多线程异步任务队列

    原文地址 python的多线程异步常用到queue和threading模块 #!/usr/bin/env python # -*- coding: UTF-8 -*- import logging i ...

  8. [Flask]celery异步任务队列的使用

    Celery异步任务队列 目录结构树: 配置文件config.py: # 设置中间人地址 broker_url = 'redis://127.0.0.1:6379/1' 主main.py: impor ...

  9. 用swoole实现异步任务队列

    应用场景如下: 假如要发100封邮件,for循环100遍,这种方法显然是不可取的. 在一些比较繁杂的业务里,我们很可能有超过1万的邮件要群发.那我们怎么处理这个延迟的问题? 答案就是用异步.把&quo ...

  10. Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务

    前言 最近把Python写的数据采集平台往.Net Core上迁移,原本的采集任务使用多进程+线程池的方式来加快采集速度,使用Celery作为异步任务队列兼具定时任务功能,这套东西用着还行,但反正就折 ...

随机推荐

  1. 【ROS】1.1 ROS基本命令介绍

    原视频 ROS基本命令 右键新标签页查看大图! have to do Command Command Result 中文解释 图示 roscore Open the core of the ROS. ...

  2. 【工具】Vscode翻译插件推荐(不用谷歌翻译api、支持短句英汉互译、支持查词、支持自动补全、不需要浏览器)

    2024/04/24说明:这篇暂时修改为粉丝可见,因为正在冲粉丝量,等到我弄完了粉丝量的要求,我就改回来!不方便看到全文的小伙伴不好意思!! 需求: 1)偶尔需要查英文生词: 2)有时候想不起来中文对 ...

  3. iNeuOS工业互联网操作系统,集成DeepSeek大模型应用

    目       录 1.     前言... 2 2.     模型和智能体配置... 3 3.     数据查询模型分析应用... 4 4.     数据报表模型分析应用... 6 5.     大 ...

  4. 操作系统综合题之“采用二级页表的分页存储管理方式,计算页目录号的位数 和 页大小,给定页目录项大小计算页目录表大小,给定逻辑地址计算页内偏移量和物理地址[0x00200643]”

    一.问题:某计算机系统的主存按字节编址,逻辑地址和物理地址都是32位,其内存管理采用两级页表的分页存储管理方式.逻辑地址中页号位10位,页内偏移地址为10位.该计算机系统的两级页表结构如下图所示,图中 ...

  5. 原生JS表格数据常用总结

    主要是在数据报表这块, 做了好几年发现, 其实用户最终想要看的并不是酷炫的BI大屏, 而是最基础也是最复杂的 中国式报表. 更多就是倾向于从表格中去获取数据信息, 最简单的就是最好的, 于是还是来总结 ...

  6. vue3微前端架构——基于蚂蚁qiankun框架

    楔子 首先,目前qiankun框架尚不支持vite, 微应用不能使用vite创建, 即使只是生产环境加的载微应用也不行, 因为vite打包代码时,内部的esbuild会tree shake掉与qian ...

  7. XXL-MQ v1.4.0 | 轻量级分布式消息队列

    Release Notes 1.[重构]XXL-MQ 核心代码重构,基于"存算分离"与"分区机制"设计思想.在轻量级.分布式的基础上,强化高吞吐.海量消息及水平 ...

  8. React Native开发鸿蒙Next---图片浏览与保存的问题交流

    React Native开发鸿蒙Next---图片浏览与保存的问题交流 之前介绍过利用鸿蒙三方RN组件@react-native-camera-roll/camera-roll保存图片到相册. Rea ...

  9. gitlabrunner之executor配置拉取镜像的账户密码

    docker executor $ cat config.toml ...... [[runners]] environment = ["DOCKER_AUTH_CONFIG={\" ...

  10. 由MySQL的Explain 看闭环 看交付

    今天在业务上有一个列表页的需求,列表页需要进行统计记录的求和情况,也就是需要用到sum语句.如: 自己在date_time 上面加了索引,那么我们对a字段求和的时候是否会使用到索引呢? select ...