温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中调用线程的方法

发布时间:2020-07-27 09:21:33 来源:亿速云 阅读:355 作者:清晨 栏目:编程语言

不懂python中调用线程的方法?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。

Python调用线程有两种情况,一种是在主线程中直接调用,还一种是直接在其他方法中调用线程

在传递参数的方式上有所区别,两种调用方法如下

1. 主进程中直接调用线程:

from threading import Thread import time     def sayhi(name,input,number):     for i in range(1,10):         if number == "线程号1":             time.sleep(2)             print("这是线程号:%s - %s say hello %s - %s" % (number,name, str(i),input))         else :             time.sleep(1)             print("线程号:%s - %s say hello %s - %s 休息1秒" % (number,name, str(i),input))   if __name__ == '__main__':     for i in range(1,3):         t = Thread(target=sayhi, args=('mike','to you',"线程号"+str(i) ))         t.start()     print("主线程结束")

2.在方法中调用线程:

在方法中调用线程的时候,如果不想另外写一个class,也不想用self参数,

在写Thread(target=Th3, args=(input,))的时候,记得args数的最后中加一个“逗号”,这样表明你传的是一个数据元组

否则会报“takes 1 positional argument but 2 were given”这种错误,因为传入的参数数量识别时出现了问题

# -*- coding: utf-8 -*- import time from threading import Thread def doWork(input):     global interval     try:         print("begin")         if "DERNAV" in input.upper():             t = Thread(target=Th2, args=(input,))             t.start()         elif "PBD9008" in input.upper():             t = Thread(target=Th3, args=(input,))             t.start()     except Exception as e :         print(e)   def Th2(input):     for i in range(1,10):         print(input+"_"+time.strftime('%Y.%m.%d %H:%M:%S'))         time.sleep(1)      def Th3(input):     for i in range(1,10):         print(input+"_"+time.strftime('%Y.%m.%d %H:%M:%S'))         time.sleep(2)  def run(interval):     while True:         try:             doWork("PBD9008")             doWork("DERNAV")             time_remaining = interval - time.time() % interval             time.sleep(time_remaining)         except Exception as e:             print(e)   if __name__ == '__main__':     global interval     interval = 300     text = run(interval)

感谢你能够认真阅读完这篇文章,希望小编分享python中调用线程的方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI