码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • tasklet的实现(原理篇)


    1.概述

    在前面的使用篇已经清晰的描述了tasklet的实现目的与使用方法。本节将重点描述tasklet的实现原理和方法。

    2.tasklet的实现

    在嵌入式系统中系统逻辑都比较简单,正常情况下一个应用系统中的任务数量是比较少的。系统大多数情况下都是在等待数据,所以系统大多数时间实际上是在空闲任务中执行的。所以,为了给bcos中增加更多有用的功能,bcos在空闲任务中实现了tasket的功能。tasklet的目标是处理那些系统中需要定时执行的耗时任务,同时这些任务又对实时性要求不高。这样,bcos可以保证先执行那些优先级较高的任务,然后等到系统空闲的时候在回过头来处理这些对实时性要求不高但又非常耗时的操作。有了这个功能后,用户在系统设计之初就省略了这方面的担心,直接将耗时操作交给tasklet处理即可。

    tasklet的任务管理也是使用的双向循环链表,系统在每次调度到空闲任务时都会检查tasklet队列中是否有超时的任务需要执行,如果有则执行tasklet回调函数否则系统空转。

    空闲任务的执行逻辑:

    Created with Raphaël 2.3.0
  • 相关阅读:
    ubuntu20.04挂载拓展盘保姆级流程
    Typora +Picgo 搭建个人笔记
    CUDA小白 - NPP(9) 图像处理 Statistical Operations
    【RocketMQ】消息的存储
    安防设施搭建使用
    CISP-PTE真题演示
    springcloudalibaba架构(19):链路追踪ZipKin数据持久化至mysql
    Smile or Scowl? Looking at Infographic DesignThrough the Affective Lens
    CF1152F Neko Rules the Catniverse(状压 DP)
    python.tkinter设计标记语言(转译2-html)
  • 原文地址:https://blog.csdn.net/BLUCEJIE/article/details/126374571
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号