python for循环中的多线程

时间:2014-07-24 05:48:23

标签: python python-multithreading

我有一个for循环,我将模式名称列表传递给循环。我想并行执行这些,因为这些模式之间没有关系。

我正在使用Python 2.6。

使用架构信息在此创建字典。

region_by_schema = {}
region_by_schema['UTEST_TT'] = 'tt'
region_by_schema['UTEST_V3'] = 'v3'
region_by_schema['UTEST_WRITE_SERVER'] = ''
region_by_schema['UTEST_PROPERTY'] = ''
region_by_schema['UTEST_PROJECT'] = ''

在此处循环使用架构:

for base_schema in region_by_schema.keys():
    do_one_user(base_schema, opt_password)

do_one_user我正在创建一个名为base_schema的目录,我正在那里做一些工作。

所以我想并行执行这5个模式,以便我的工作能够快速完成。我想将下面的代码放在线程或多处理中:

for base_schema in region_by_schema.keys():
    do_one_user(base_schema, opt_password)

请让我知道这个方法。

1 个答案:

答案 0 :(得分:0)

我建议您阅读线程说明并学习如何使用它。这是link

from threading import Thread

yourSchemas = [schema1, schema2, schema3]
t = []
def test(region_by_schema):
    for base_schema in region_by_schema.keys():
        do_one_user(base_schema, opt_password)

    for schema in yourSchemas:
        t.append(Thread(target=test, args=[schema]))

    for i in range(len(yourSchemas)):
        t.start()
        t.join()