注册 登录
编程论坛 Python论坛

求助:如何对循环进行时间控制

soarwen 发布于 2009-12-21 16:19, 1445 次点击
各位大侠,最近遇到一个问题,还望不吝赐教
我想对循环的过程进行时间控制,一直不得其解
比如
for i in range()
  .......#function

在遍历列表时,1秒处理一个数据,而不是让系统自行处理,有没有什么可行的方法
我用了time.sleep(),可是不是我想要的效果
1 回复
#2
lampeter1232009-12-23 15:23
以下例子的效果是否你想要的?

#-*- encoding: gb2312 -*-
import threading
import time

class Test(threading.Thread):
    def __init__(self, num):
        threading.Thread.__init__(self)
        self._run_num = num
   
    def run(self):
        global count, mutex
        threadname = threading.currentThread().getName()
   
        for x in xrange(0, int(self._run_num)):
            mutex.acquire()
            count = count + 1
            mutex.release()
            print threadname, x, count
            time.sleep(1)

if __name__ == '__main__':
    global count, mutex
    threads = []
    num = 4
    count = 1
    # 创建锁
    mutex = threading.Lock()
    # 创建线程对象
    for x in xrange(0, num):
        threads.append(Test(10))
    # 启动线程
    for t in threads:
        t.start()
    # 等待子线程结束
    for t in threads:
        t.join()  
1