在运行时创建Tasklet

点子

只是从Stackless Python开始。我正在尝试在运行时(即调用后)创建一些tasklet stackless.run()我认为该功能不会阻塞主线程,因此我将能够在必要时创建新的tasklet。因此,我决定制作一个在tasklet中运行的tasklet-creator函数。这就是我所拥有的:

import stackless

from time import sleep

def say_hello(s):
    while True:
        print("Hello, %s!" % s)
        sleep(5)

def creator():
    i = 0
    while True:
        i += 1
        t = stackless.tasklet(say_hello)(str(i))
        t.insert()
        sleep(5)

stackless.tasklet(creator)()
stackless.run()

此代码应每5秒创建一个新的tasklet,并且每个代码都应打印“ Hello,{number of tasklet}!”。无限(也是每5秒一次)。预期输出为:

Hello, 1!
Hello, 1!
Hello, 2!
Hello, 1!
Hello, 2!
Hello, 3!
Hello, 1!
Hello, 2!
Hello, 3!
Hello, 4!
...

但是,运行代码时没有输出。

怎么了

席德

只是一个猜测,但我认为您需要stackless.schedule()在t.insert()之后调用,然后再睡在creator()中。我认为创作者并没有放弃控制权。对于say_hello也是一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在运行时动态创建类

来自分类Dev

在运行时休眠多租户创建架构

来自分类Dev

如何创建要在运行时着色的模板图像

来自分类Dev

Delphi:在运行时以动态创建的形式创建TComboBox

来自分类Dev

如何在运行时递归创建ActionBar?

来自分类Dev

在运行时创建测试(Google测试)

来自分类Dev

AngularJS-在运行时创建工厂

来自分类Dev

在运行时创建的访问控制

来自分类Dev

使用反射在运行时创建类

来自分类Dev

在运行时快速创建函数

来自分类Dev

DevExpress WebChartControl在运行时创建

来自分类Dev

如何在运行时从C ++创建QQmlComponent?

来自分类Dev

是否可以在运行时在Julia中创建类型?

来自分类Dev

在运行时创建字段

来自分类Dev

可以在运行时使用Javascript创建函数吗?

来自分类Dev

Spring Boot @Autowired在运行时创建实例

来自分类Dev

在运行时JavaScript中创建匿名函数

来自分类Dev

在运行时从protobuf文件动态创建python类?

来自分类Dev

在运行时创建DEEP不可变对象

来自分类Dev

流明-在运行时创建数据库连接

来自分类Dev

在运行时创建Spock测试

来自分类Dev

在运行时创建Command对象

来自分类Dev

在运行时创建对象?

来自分类Dev

django在运行时创建信号

来自分类Dev

在运行时创建UI元素

来自分类Dev

在运行时创建并填充 ImageList

来自分类Dev

Javascript:在运行时创建函数

来自分类Dev

选择在运行时创建的组件

来自分类Dev

在运行时创建字典