Day 9 任务的形式

今天想发ARM的文章时,居然一直遇到这个画面:
https://ithelp.ithome.com.tw/upload/images/20210923/201074826Kuh0XknJP.png

虽然不确定是不是被攻击了,但後来还好可以连上主页了,这感觉的确是有些惊险! 资安越来越重要,如果因此而无法准时发文,应该会徒呼负负吧!


我们讨论一下任务(task)的结构形式,最典型的任务分成两种,一种是执行到完成(run-to-completion);另一种的就是无限循环。

最常见的执行到完成的任务,就是用在初始化阶段,这也是最常见的一种样态,这种任务形态比较不会有抢占的问题,我们也可以在後面附加,如果执行完毕就自行删除或中止。

虚拟码的表达方式如下:

RunToCompletionTask()           执行到完成任务
{
   Initialize application           初始化应用
   Create ‘endless loop tasks’      创立’无限循环的任务’
   Create kernel objects          创立核心物件
   Delete or suspend this task     删除或中止这个任务
}

无限循环,简单说,就是仅在初始化时,任务被执行,之後就一直重复,虚拟码表达方式如下:

EndlessLoopTask()
{
  Initialization code
  Loop Forever
  {
    Body of loop
    Make one or more blocking calls
   }
}

上述的Make one or more blocking calls,意思是呼叫一个或多个冻结,就是可以冻结到任务,让优先权较低任务可以执行的意思。

以上就大致简略说明一下任务的两种典型的模式。


<<:  Node.js介绍

>>:  追求JS小姊姊系列 Day8 -- 郑列展现的工具力(下)

Day12:12 - 商品服务(3) - 後端 & 前端 - 商品详情API

வணக்கம்,我是Charlie! 在Day11当中,我们完成了总商品的API以及分类,而今天我们...

DAY13 - 第二个小范例 : 台股爬虫

前言 今天是铁人赛的第十三天,要来使用Python写一下爬虫程序(web crawler) 目的是爬...

30天零负担轻松学会制作APP介面及设计【DAY 27】

大家好,我是YIYI,今天我要来和大家聊聊开始设计前。 开始制作APP前要知道的事 我觉得最大的问题...

Day2-K8s?

一个技术要火起来有时候不只要有真本事?还需要一点时机,巧合,比如发明平板的其实是微软,但让平板走入大...

Day38. 范例:三只小猪 (原型模式)

本文同步更新於blog 情境:三只小猪想要盖房子 首先是墙壁,可以选择不同的建材 <?php...