社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

user9371654 • 5 年前 • 1566 次点击  

我是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)让目标函数将结果写入文件是否有问题?多线程可以同时写入吗?有什么预防措施可以避免错误吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43449
 
1566 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rohit
Reply   •   1 楼
Rohit    6 年前

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

关于 range 函数是您的线程数。

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

是的,如果你不小心管理你的数据结构,那么Python中的多线程可能会很奇怪。 threader 函数正在使用。因此,在一个天真的实现中,您可以有多个线程将相同的行写入文件,如果 write 操作不受控制。也就是说,在您的案例中,您可能要做的是将输入文件中的行插入到 queue 然后 get 线程器函数中的行,并将其写入输出文件。