Python中的多线程

Python中的多线程

多线程是编程语言中的一个重要概念,有了这个特性,我们可以在python中使用多线程来实现多任务。这对您的代码的效率和有效性非常有好处,让我们开始解释。

首先,问题是,线程到底是什么!好吧,线程是我们程序的一部分,可以像函数一样独立运行。

我们可以在 python 中使用 threading 模块在我们的代码中实现多线程。在我们的例子中,我们想要得到一个数组的总和,然后我们想要将它们相乘,让我们看看这个例子。

 将线程导入为 td ;  
 将 functools 导入为 ft ;  
 定义总和(*arr):  
 sum = ft.reduce(lambda x , y : x + y , l ) ;  
 print("sum : {0}".format(sum)) ;  
 def 乘法(*arr):  
 相乘 = ft.reduce(lambda a , b : a*b ,l ) ;  
 打印(“乘:”,乘);  
 l = [1,2,3,4];  
 task1 = td.Thread(target=summation,args=(l)) ;  
 task2 = td.Thread(target=multiplication,args=(l)) ;  
 task1.start() ;  
 task2.start() ;  
 task1.join() ;  
 task2.join() ;

注意:functools 模块不是必需的,不要因此而分心

  • 在第 1 行中,我将线程模块导入为 td 以有效地使用它。

  • 在第 3 到 6 行中,我编写了函数,一个用于获取数组的总和,一个用于将数组相乘。

  • 在第 8 到 14 行,我们为多线程编写了对象。如您所见,语法是这样的

    task = threading.Thread(target=function,args=(param,)) ;

我们使用 Thread ,然后将函数分配给目标,然后使用 args 传递参数。使用 task.start() 我们调用我们的任务开始然后使用 task.join() 我们等待我们的任务完成,非常简单。

让我们看一个只运行一个线程的简单示例:

 将线程导入为 td ;  
 def thread1(**args):  
 唯一值 = {}  
 对于 args.items() 中的 i、j:  
 打印(“键:”,我);  
 unique_values.add(j) ;  
 对于 x in unique_values :  
 print("唯一值:", x) ;  
 字典 = {"1":1,"2":1} ;  
 t = td.Thread(target=thread1,args(dict)) ;  
 t.start() ;  
 t.join()

在我们的示例中,我们运行获取字典的唯一值并获取键(奇怪的函数:\)。

抱歉,如果我没有详细介绍本文,但我认为您可以了解该主题并将其用于您自己的项目和练习中,我可以。我希望我简化了它。

结论

请关注我,你会帮助我很多。

谢谢阅读。如果您觉得这篇文章有用,请不要忘记鼓掌并与您的朋友和同事分享。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/36092/32381408

posted @ 2022-09-14 08:33  哈哈哈来了啊啊啊  阅读(450)  评论(0编辑  收藏  举报