繁体   English   中英

如何在python的“线程”模块中指定线程数

[英]How to specify the number of threads in python's “threading” module

我是python多线程编程的新手。 但是要在合理的时间内运行我的功能,我必须使用它。 在在线教程中,我找到了以下基本代码:

import threading

    def f(id):
        print ("thread function:",id)
        return

    for i in range(3):
        t = threading.Thread(target=f, args=(i,))
        t.start()

我得到的输出是:

thread function: 0
thread function: 1
thread function: 2

在我的实际程序中,我有参数,这是要从本地文件读取的行。 我想将其传递给目标函数。 目标函数执行一些任务,然后将结果也写入本地文件。

我的问题:1)如何在上面的代码中指定线程数?

2)使目标函数将结果写入文件时是否存在任何问题? 多个线程可以同时写入吗? 有什么预防措施可以避免错误?

1)如何在上面的代码中指定线程数?

range函数的参数是您的线程数。

2)使目标函数将结果写入文件时是否存在任何问题? 多个线程可以同时写入吗? 有什么预防措施可以避免错误?

是多线程的蟒蛇可能是,如果你不小心的管理你的数据结构非常奇怪的threader功能使用。 因此,在天真的实现中,如果不控制write操作,则可以有多个线程将同一行write文件。 这就是说,您可能要做的就是将输入文件中的行放入queue ,然后在threader函数中get该行并将其写入输出文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM