目录 前言 链接 参考 笔录草稿 部分源码分析 源码分析 LOS_TaskCreate函数 LOS_TaskCreateOnly函数 宏 OS_TCB_FROM_PENDLIST 和 宏 LOS_DL_LIST_FIRST 任务控制块 LOS_TASK_CB 前言 20201009 LiteOS 2018 需要会通用链表 链接 LiteOS源码链接 常见问题 华为开发者社区 华为LiteOS官方教程 我的源码 包含 裸机源码 LiteOS 工程模板 其它关于 LiteOS 的 demo 及 no…
目录 前言 笔录草稿 源码分析 LOS_TaskDelete函数源码分析 完整源码 参考 链接 前言 20201009 LiteOS 2018 需要会通用链表 笔录草稿 源码分析 LOS_TaskDelete函数源码分析 完整源码 进入处理前,需要进入任务临界 通过任务ID来获取任务句柄 根据各种状态进行处理 处于 OS_TASK_STATUS_UNUSED (未使用) 状态 退出 处于 OS_TASK_STATUS_RUNNING (运行态) 且调度被锁定了 解锁任务调度 处于 就绪态 或 阻…
1.简介 在上一篇文章中,我分析了 Spring 是如何为目标 bean 筛选合适的通知器的.现在通知器选好了,接下来就要通过代理的方式将通知器(Advisor)所持有的通知(Advice)织入到 bean 的某些方法前后.与筛选合适的通知器相比,创建代理对象的过程则要简单不少,本文所分析的源码不过100行,相对比较简单.在接下里的章节中,我将会首先向大家介绍一些背景知识,然后再去分析源码.那下面,我们先来了解一下背景知识. 2.背景知识 2.1 proxy-target-class 在 Spr…
1. 简介 本篇文章是上一篇文章(创建单例 bean 的过程)的延续.在上一篇文章中,我们从战略层面上领略了doCreateBean方法的全过程.本篇文章,我们就从战术的层面上,详细分析doCreateBean方法中的一个重要的调用,即createBeanInstance方法.在本篇文章中,你将看到三种不同的构造 bean 对象的方式.你也会了解到构造 bean 对象的两种策略.如果你对这些内容感兴趣,那么不妨继续往下读.我会在代码进行大量的注解,相信能帮助你理解代码逻辑.好了,其他的就不多说了…
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑.对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去创建,而是从缓存中获取.如果某个 bean 还未实例化,这个时候就无法命中缓存.此时,就要根据 bean 的配置信息去创建这个 bean 了.相较于getBean(String)方法的实现逻辑,创建 bean 的方法createBean(String, RootBeanDefinition, Obj…
目录 前言 链接 参考 开启调度 LOS_Start 函数源码 osTickStart 函数源码 LOS_StartToRun 函数源码 前言 20201009 移植好内核后,开始实战内核. 源码分析一般都在代码注释中. 本文LiteOS采用非接管中断方式. 本文源码基于 LiteOS 2018 源码,最新官方源码中都有注释,可参考. 本文源码与最新官方源码区别 原理一样,源码稍有不同,且最新官方源码中带有注释. 链接 LiteOS源码链接 常见问题 华为开发者社区 华为LiteOS官方教程 我…
目录 前言 笔录草稿 核心源码分析 osTaskSchedule函数源码分析 osPendSV函数源码分析 TaskSwitch函数源码分析 调度上层源码分析 osSchedule函数源码分析 LOS_Schedule函数源码分析 辅助参考代码 任务控制块 LOS_TASK_CB 源码参考 LiteOS中断向量表(二次命名版) 参考 链接 前言 20201012 LiteOS 2018 建议先瞄一眼 辅助参考代码 章节 笔录草稿 核心源码分析 这里主要分析系统调度的汇编部分,也是调度的底层核心部…
好久好久没有写博客了,因为一直要做各种事,工作上的,生活上的,这一下就是半年. 时光如梭. 这两天回头看了看写的博客,感觉都是贻笑大方. 但是还是想坚持把SequoiaDB系列写完. 初步的打算已经确定好,已经更新的 前言 中. 从本篇开始,进入源码分析篇. 为了能让自己坚持下去,也让看我的博客学习的同学由浅入深逐步学习,我们先从简单的开始. 如果你觉得本系列的博文让你觉得有用,请收藏我的博客地址 :) 分析SequoiaDB的进程模型,免不了要从进程的Main函数开涮. SequoiaDB源码…
$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回,该函数有三个参数,如下: elems Array/Object类型 指定的需要处理的数组或对象. callback 遍历时执行的回调函数 arg 参数,执行回调函数时传入的参数 callback函数执行时可以带两个参数,分别是遍历时对应的值和它的索引(对象来说则是键名),如果有返回值,则将返回值拼凑为一个数组 $.fn.map()返回值是一个jQuery对象,它也是调用$.map()来实…
$.each一般用来遍历一个数组或对象,$.fn.each()就是指jQuery实例可以执行的操作(因为$.fn是jQuery对象的原型) $.each用来遍历一个数组或对象,并依次执行回掉函数,最后返回传递的数组或对象,以支持链式操作,可以传递三个参数,如下: object 待遍历的对象或数组 callback 要执行的函数,该函数可以带两个参数,分别表示该元素的索引(如果遍历对象则为键名)和值 writer by:大沙漠 QQ:22969969 args  一个数组,如果设置了该值,则参数2…