python多线程

Posted zhujunsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python多线程相关的知识,希望对你有一定的参考价值。

import re
import requests
import threading
import _thread
from time import sleep
import time
import random
respose=requests.get(‘http://www.xiaohuar.com/v/‘)
# print(respose.status_code)# 响应的状态码
# print(respose.content) #返回字节信息
# print(respose.text) #返回文本内容
urls=re.findall(r‘class="items".*?href="(.*?)"‘,respose.text,re.S) #re.S 把文本信息转换成1行匹配
url=urls[5]
result=requests.get(url)
mp4_url=re.findall(r‘id="media".*?src="(.*?)"‘,result.text,re.S)[0]
#print(mp4_url)
i = 0
def xiazai():
global i
i = i+1
#return i
print(i)
sleep(1)
#num = str(i)
#videourl = ‘http://z.syasn.com/b/b‘+num+‘.mp4‘
#video=requests.get(videourl)
#http://z.syasn.com/b/b675.mp4
#with open(‘C:\\ceshi\\num‘+num+‘.mp4‘,‘wb‘) as f:
#f.write(video.content)

def task2():
print("Task 2 executed.")
sleep(5)
starttime = time.time(); # 记录开始时间
threads = [] # 创建一个线程列表,用于存放需要执行的子线程
for ths in range(0,100):
ths = threading.Thread(target=xiazai) # 创建第一个子线程,子线程的任务是调用task1函数,注意函数名后不能有()
threads.append(ths) # 将这个子线程添加到线程列表中
for t in threads: # 遍历线程列表
t.setDaemon(True) # 将线程声明为守护线程,必须在start() 方法调用之前设置,如果不设置为守护线程程序会被无限挂起
t.start() # 启动子线程
endtime = time.time(); # 记录程序结束时间
totaltime = endtime - starttime; # 计算程序执行耗时
print("耗时:{0:.5f}秒".format(totaltime)); # 格式输出耗时
print(‘---------------------------‘)

# 以下为普通的单线程执行过程,不需解释
starttime = time.time();
for ths2 in range(0,100):
xiazai();
endtime = time.time();
totaltime = endtime - starttime;
print("耗时:{0:.5f}秒".format(totaltime));

以上是关于python多线程的主要内容,如果未能解决你的问题,请参考以下文章

python 多线程

python多线程作用

python3.7多线程代码不执行?

python 多线程状态

python多线程探测url地址

python循环怎么用多线程去运行