python用while循环求n!_python – 没有while循环每n秒做一次事情?

Strange errors using ‘threading’ module的Blender API文档:

Python threading with Blender only works properly when the threads finish up before the script does. By using threading.join() for example.

Note: Pythons threads only allow co-currency and won’t speed up your scripts on multi-processor systems, the subprocess and multiprocess modules can be used with blender and make use of multiple CPU’s too.

from threading import Thread, Event

class Repeat(Thread):

def __init__(self,delay,function,*args,**kwargs):

Thread.__init__(self)

self.abort = Event()

self.delay = delay

self.args = args

self.kwargs = kwargs

self.function = function

def stop(self):

self.abort.set()

def run(self):

while not self.abort.isSet():

self.function(*self.args,**self.kwargs)

self.abort.wait(self.delay)

例:

from time import sleep

def do_work(foo):

print "busy", foo

r = Repeat(1,do_work,3.14) # execute do_work(3.14) every second

r.start() # start the thread

sleep(5) # let this demo run for 5s

r.stop() # tell the thread to wake up and stop

r.join() # don't forget to .join() before your script ends

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值