基于优先级的抢占式调度及实验的源程序和实验步骤 1 实验目的    1.学习并验证基于优先级的抢占式调度2 实验内容    在实验一建立的 project 中,创建3 个任务,对这三个任务使用基于优先级的抢占式调度.观察运行结果. 3 实验设备及工具   1.硬件:      a) PC 机   2.软件:      a) PC 机操作系统Windows2000 或windowsXP      b) Tornado2.24 实验原理 Wind 内核调度默认使用基于优先级抢占式调度.每个任务有一个…
小结: 1. micro-thread with no implicit scheduling; coroutines, in other words. 没有显式调度的微线程,换言之 协程 2. 一个greenlet切换到另一个greenlet,前者被suspend推迟.暂停 uWSGI项目 — uWSGI 2.0 文档 https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/# 循环引擎 (实现事件和并发,组件可以在reforking, thread…
gevent GitHub - gevent/gevent: Coroutine-based concurrency library for Python https://github.com/gevent/gevent gevent - 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001407503089986d175822da68d4d6685fbe8…
1.1   垃圾收集器 垃圾收集器是内存回收的具体实现.以下讨论的收集器是基于JDK1.7Update14之后的HotSpot虚拟机.这个虚拟机包含的所有收集器有: 上图展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用.虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器.接下来笔者将逐一介绍这些收集器的特性.基本原理和使用场景,并重点分析CMS和G1这两款相对复杂的收集器,了解它们的部分运作细节. 直到现在为止还没有最好的收集器出现,更加没有万能的收…
看<Python cookbook>的时候,第9.5部分,"定义一个属性可由用户修改的装饰器",有个装饰器理解起来花了一些时间,做个笔记免得二刷这本书的时候忘了 完整代码:https://github.com/blackmatrix7/python-learning/blob/master/python_cookbook/chapter_9/section_5/attach_wrapper.py 书中的装饰器(书中称之为访问器函数) def attach_wrapper(o…
一.简介 master上运行着三个最核心的组件,apiserver.scheduler.controller manager.此外,master还依赖于ectd存储节点,最好ectd是有冗余能力的集群: (1)调度器(scheduler) master上的scheduler控制着pod运行在哪个node上,默认用的default scheduler: 调度器的调度信息存储在master上的etcd里面,apiserver负责和etcd通信: kubelete运行在node节点上,监控着Node节…
DRY(Don't Repeat Yourself)原则: 一般是指在写代码的时候尽量避免重复的实现.违反DRY原则导致的坏处很容易理解,例如维护困难,修改时一旦遗漏就会产生不易察觉的问题. 一.函数装饰器 1.从Python内层函数说起 使用内层函数的三个好处 封装 贯彻DRY原则 闭包和工厂函数 1.封装 def outer(num1): def inner_increment(num1): # hidden from outer code return num1 + 1 num2 = in…
Storm默认的任务调度器.实现如下: 1  (defn –prepare [this conf]) 2  (defn –schedule [this ^Topologies topologies ^Cluster cluster] 3  (default-schedule topologies cluster)) default-schedule 方法原型: 1  (defn default-schedule [^Topologies topologies ^Cluster cluster])…
任务调度接口定义: 1  IScheduler{ 2      // conf为当前nimbus的stormp配置 3  void prepare(Map conf); // 初始化 4  // topologyies表示集群中所有topology信息,cluster表示当前集群包括用户自定义调度逻辑事所需的所有资源(Supervisor.Solt.以及任务分配情况) 5  void schedule(Topologies topologies,Cluster cluster); 6  }:  …
定义:本质是函数,为其他函数添加附加功能原则:1.不能修改被装饰的函数的源代码         2.不能修改被装饰的函数的调用方式知识储备:       1.函数即“变量”       2.高阶函数   a:把一个函数名当作实参传给另外一个函数(在不修改被装饰函数源代码的情况下为其添加功能)   b:返回值中包含函数名(不修改函数的调用方式)       3.嵌套函数       高阶函数+嵌套函数=>装饰器 第一步:最简单的函数,准备附加额外功能 ? 1 2 3 4 5 6 7 8 # -*-…