zoukankan      html  css  js  c++  java
  • python模拟进程状态

     代码运行如上图

    参考老师给出的链接

    源代码为

    from transitions import Machine

    # 定义一个自己的类


    class Matter(object):
    pass


    model = Matter()

    # 状态定义
    states = ['New', 'Ready', 'Waiting', 'Running', 'Terminated']

    # 定义状态转移
    transitions = [
    {'trigger': 'Admitted', 'source': 'New', 'dest': 'Ready'},
    {'trigger': 'Dispatch', 'source': 'Ready', 'dest': 'Running'},
    {'trigger': 'Interrupt', 'source': 'Running', 'dest': 'Ready'},
    {'trigger': 'InputOutputoreventwait', 'source': 'Running', 'dest': 'Waiting'},
    {'trigger': 'InputOutputoreventcompletion',
    'source': 'Waiting', 'dest': 'Ready'},
    {'trigger': 'Exit', 'source': 'Running', 'dest': 'Terminated'}]

    # 初始化
    machine = Machine(model=model, states=states,
    transitions=transitions, initial='New')

    # Test
    print(model.state) # New

    # 状体转变
    model.Admitted()
    print(model.state) # Ready

    model.Dispatch()
    print(model.state) # Running

    model.InputOutputoreventwait()
    print(model.state) # Waiting

    model.InputOutputoreventcompletion()
    print(model.state) # Ready

    model.Dispatch()
    print(model.state) # Running

    model.Interrupt()
    print(model.state) # Ready

    model.Dispatch()
    print(model.state) # Running

    model.Exit()
    print(model.state) # Terminated
  • 相关阅读:
    关于service相关知识的认识
    如何在service实现弹出对话框
    NDK编程jni学习入门,声明native方法,使其作为java与c的交互接口
    js事件
    es6箭头函数
    es6展开运算符
    es6 解构赋值
    js 函数的this指向
    js函数作用域
    js 预解析以及变量的提升
  • 原文地址:https://www.cnblogs.com/ssssspm/p/14128524.html
Copyright © 2011-2022 走看看