python线程:第一步

2024-03-28 17:00:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python线程的新手,我写的第一个任务是:

from twitterHandler import Twitter_User
from text_analyzer import text_analyzer
import threading

if __name__=='__main__':
    usersIDS = {'user1':24503301,'user2':7375922343546478338,'user3':2144265434,'user4':50090727}
    threads = {}

    def get_data(user_id):
    '''get the most common words used by twitter user un his text tweet and save it in a file object'''
        ...

    for user_name, user_id in usersIDS.items():
        t = threading.Thread(target=get_data,args=(user_id,))
        threads[user_name] = t
        print('Starting to get data for: {}'.format(user_name)
        t.start()


    for name,t in threads.items():
        t.join()
        print('Process for {} Stopped'.format(name))

代码可以工作,但我想知道这是线程的典型用例,还是我可以做类似的事情。你知道吗

for user_id in usersIDS.values():
    get_data(user_id)
    ...

换句话说,多线程是解决我的问题的正确选择吗?非常感谢


Tags: textnameinfromimportidfordata
1条回答
网友
1楼 · 发布于 2024-03-28 17:00:10

是的,在我看来,这是一个很好的方法和相当普遍。螺纹用于以下情况:

  • 异步操作—当某个进程不依赖于另一个进程的输出时
  • 可以并行化的过程,比如对图像的不同部分进行过滤
  • 在后台运行的操作

我认为你的病例可以分为第一组和第二组。每个人对象分析不依赖于其他人分析的输出。但是,如果你有大量的用户和文字数据,它可能会给你的计算机带来问题,因为它必须管理每个线程的创建和销毁。不管怎样,是否使用线程都是个人的决定。你知道吗

相关问题 更多 >