我正试图将SimPy仿真添加到我正在工作的项目中,但是我对版本3的发布/请求有一些困惑。在
我可以使用'with''块来实现资源,但是在我的情况下,我希望不使用'with''块来请求/释放资源。在
但是,我找不到一个使用simpy3的例子。我阅读了有关资源的文档/源代码,但仍然不能完全正确地理解它。有人能解释一下如何正确地:
...
Request a Resource with the method: 'request()'
...
Release that Resource with the method: 'release()'
...
谢谢,很抱歉打扰你。在
PS:我打算用资源.资源在
在对象上使用
with
在进入with
块时调用__enter__
,离开时调用__exit__
。所以当你这么做的时候您实际上是在请求对象上调用
^{pr2}$__enter__
,执行#stuff
,然后调用__exit__
:因此,
with
块相当于:但是,
with
块还确保无论在#stuff
期间抛出什么异常,都会调用清除代码。你会因为上面的代码而失去它。在如果您想使用没有
with
块的资源(而且您知道不会被中断),那么只需:这一切都在PEP343中概述
变成:
^{pr2}$这正是python使用}函数。我的想法是,
with... as...
块的方式,但我想您不想使用这些块是有原因的。如果是这样,那么您只需要__enter__
和{__enter__
设置所有内容,__exit__
执行所有清理。在相关问题 更多 >
编程相关推荐