最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

使用多线程与不使用多线程的区别

互联网 admin 1浏览 0评论

使用多线程与不使用多线程的区别

不使用多线程所需时间:

import time
from urllib.request import urlopendef timeit(f):def wrapper(*args, **kwargs):start_time = time.time()res = f(*args, **kwargs)end_time = time.time()print("%s函数运行时间:%.2f" % (f.__name__, end_time - start_time))return resreturn wrapperdef get_addr(ip):url = "/%s" % (ip)urlObj = urlopen(url)# 服务端返回的页面信息, 此处为字符串类型pageContent = urlObj.read().decode('utf-8')# 2. 处理Json数据import json# 解码: 将json数据格式解码为python可以识别的对象;dict_data = json.loads(pageContent)print("""IP:    %s所在城市: %s所在国家: %s""" % (ip, dict_data['city'], dict_data['country']))@timeit
def main():ips = ['12.13.14.%s' % (i + 1) for i in range(10)]for ip in ips:get_addr(ip)if __name__ == '__main__':main()

使用多线程所需时间

import threading
import time
from urllib.request import urlopendef timeit(f):def wrapper(*args, **kwargs):start_time = time.time()res = f(*args, **kwargs)end_time = time.time()print("%s函数运行时间:%.2f" % (f.__name__, end_time - start_time))return resreturn wrapperdef get_addr(ip):url = "/%s" % (ip)urlObj = urlopen(url)# 服务端返回的页面信息, 此处为字符串类型pageContent = urlObj.read().decode('utf-8')# 2. 处理Json数据import json# 解码: 将json数据格式解码为python可以识别的对象;dict_data = json.loads(pageContent)print("""%s所在城市: %s所在国家: %s""" % (ip, dict_data['city'], dict_data['country']))@timeit
def main():ips = ['12.13.14.%s' % (i + 1) for i in range(10)]for ip in ips:t = threading.Thread(target=get_addr, args=(ip, ))t.start()if __name__ == '__main__':main()

使用多线程与不使用多线程的区别

不使用多线程所需时间:

import time
from urllib.request import urlopendef timeit(f):def wrapper(*args, **kwargs):start_time = time.time()res = f(*args, **kwargs)end_time = time.time()print("%s函数运行时间:%.2f" % (f.__name__, end_time - start_time))return resreturn wrapperdef get_addr(ip):url = "/%s" % (ip)urlObj = urlopen(url)# 服务端返回的页面信息, 此处为字符串类型pageContent = urlObj.read().decode('utf-8')# 2. 处理Json数据import json# 解码: 将json数据格式解码为python可以识别的对象;dict_data = json.loads(pageContent)print("""IP:    %s所在城市: %s所在国家: %s""" % (ip, dict_data['city'], dict_data['country']))@timeit
def main():ips = ['12.13.14.%s' % (i + 1) for i in range(10)]for ip in ips:get_addr(ip)if __name__ == '__main__':main()

使用多线程所需时间

import threading
import time
from urllib.request import urlopendef timeit(f):def wrapper(*args, **kwargs):start_time = time.time()res = f(*args, **kwargs)end_time = time.time()print("%s函数运行时间:%.2f" % (f.__name__, end_time - start_time))return resreturn wrapperdef get_addr(ip):url = "/%s" % (ip)urlObj = urlopen(url)# 服务端返回的页面信息, 此处为字符串类型pageContent = urlObj.read().decode('utf-8')# 2. 处理Json数据import json# 解码: 将json数据格式解码为python可以识别的对象;dict_data = json.loads(pageContent)print("""%s所在城市: %s所在国家: %s""" % (ip, dict_data['city'], dict_data['country']))@timeit
def main():ips = ['12.13.14.%s' % (i + 1) for i in range(10)]for ip in ips:t = threading.Thread(target=get_addr, args=(ip, ))t.start()if __name__ == '__main__':main()

发布评论

评论列表 (0)

  1. 暂无评论