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

    1:源代码
    from transitions import Machine

    定义一个自己的类
    class Matter(object):
    pass
    model = Matter()

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

    定义状态转移
    The trigger argument defines the name of the new triggering method
    transitions = [
    {'trigger': 'Admitted', 'source': 'New', 'dest': 'Ready'},
    {'trigger': 'Input', 'source': 'Waiting', 'dest': 'Ready'},
    {'trigger': 'Output', 'source': 'Waiting', 'dest': 'Ready'},
    {'trigger': 'eventcompletion', 'source': 'Waiting', 'dest': 'Ready'},
    {'trigger': 'eventwait', 'source': 'Running', 'dest': 'Waiting'},
    {'trigger': 'Input', 'source': 'Running', 'dest': 'Waiting'},
    {'trigger': 'Output', 'source': 'Running', 'dest': 'Waiting'},
    {'trigger': 'Interrupt', 'source': 'Running', 'dest': 'Ready'},
    {'trigger': 'Dispatch', 'source': 'Ready', 'dest': 'Running'},
    {'trigger': 'Exit', 'source': 'Running', 'dest': 'Terminated'}]

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

    Test
    model.state # solid

    状体转变
    print(model.state)
    model.Admitted()
    print(model.state)
    model.Dispatch()
    print(model.state)
    model.Input()
    print(model.state)
    model.Input()
    print(model.state)
    model.Dispatch()
    print(model.state)
    model.Interrupt()
    print(model.state)
    model.Dispatch()
    print(model.state)
    model.Exit()
    print(model.state

  • 相关阅读:
    WPF多路绑定
    ConfigurationManager
    开发小技巧1——Logger
    C#对json数据的解析
    Process类
    JS获取访客IP+判断归属地+自动跳转
    织梦默认编辑器换成kindEditor实操教程
    linux中添加环境变量(python为例)
    原生javascript实现省市区三级联动
    kali安装火狐浏览器
  • 原文地址:https://www.cnblogs.com/daijun123/p/14129269.html
Copyright © 2011-2022 走看看