Python中预定义金额的多个循环

时间:2013-03-06 01:46:46

标签: python multithreading loops multiprocessing

基本上我不知道我需要做些什么来实现这个目标..

我有两个循环,每个循环将循环不同的持续时间:

import time

while True:
    print "Hello Matt"
    time.sleep(5)

然后是另一个循环:

import time

while True:
    print "Hello world"
    time.sleep(1)

我需要在程序中包含两个循环,并且两者都需要同时运行并独立处理数据,并且不需要在它们之间共享数据。我想我正在寻找线程或多处理,但我不确定如何实现它。

2 个答案:

答案 0 :(得分:1)

Thread的使用足以达到您的目的:

import time
from threading import Thread

def foo():
    while True:
        print "Hello Matt"
        time.sleep(5)

def bar():
    while True:
        print "Hello world"
        time.sleep(1)

a = Thread(target=foo)
b = Thread(target=bar)
a.start()
b.start()

答案 1 :(得分:1)

为此,您可以使用模块线程,如下所示:

import threading
import time

def f(n, str):     # define a function with the arguments n and str
    while True:
        print str
        time.sleep(n)

t1=threading.Thread(target=f, args=(1, "Hello world"))    # create the 1st thread
t1.start()                                                # start it

t2=threading.Thread(target=f, args=(5, "Hello Matt"))     # create the 2nd thread
t2.start()                                                # start it

REF。
http://docs.python.org/2/library/threading.html