CSS Ribbon

Reproducing the GitHub Ribbon in CSS

Day95

#爬虫性能相关
# 1.多线程
# """
# 可以实现并发
# 但是,请求发送出去后和返回之前,中间时期线程空闲
# 编写方式:
# - 直接返回处理
# - 通过回调函数处理
# """
# ########### 编写方式一 ###########
# """
# from concurrent.futures import ThreadPoolExecutor
# import requests
# import time
#
# def task(url):
# response = requests.get(url)
# print(url,response)
# # 写正则表达式
#
#
# pool = ThreadPoolExecutor(7)
# url_list = [
# 'http://www.cnblogs.com/wupeiqi',
# 'http://huaban.com/favorite/beauty/',
# 'http://www.bing.com',
# 'http://www.zhihu.com',
# 'http://www.sina.com',
# 'http://www.baidu.com',
# 'http://www.autohome.com.cn',
# ]
# for url in url_list:
# pool.submit(task,url)
#
# pool.shutdown(wait=True)
# """
#
# ########### 编写方式二 ###########
# from concurrent.futures import ThreadPoolExecutor
# import requests
# import time
#
# def task(url):
# """
# 下载页面
# :param url:
# :return:
# """
# response = requests.get(url)
# return response
#
# def done(future,*args,**kwargs):
# response = future.result()
# print(response.status_code,response.content)
#
# pool = ThreadPoolExecutor(7)
# url_list = [
# 'http://www.cnblogs.com/wupeiqi',
# 'http://huaban.com/favorite/beauty/',
# 'http://www.bing.com',
# 'http://www.zhihu.com',
# 'http://www.sina.com',
# 'http://www.baidu.com',
# 'http://www.autohome.com.cn',
# ]
# for url in url_list:
# v = pool.submit(task,url)
# v.add_done_callback(done)
#
# pool.shutdown(wait=True)
#

##########################多进程
"""
# 可以实现并发
# 但是,请求发送出去后和返回之前,中间时期进程空闲
# 编写方式:
# - 直接返回处理
# - 通过回调函数处理
# """
#
# ########### 编写方式一 ###########
# """
# from concurrent.futures import ProcessPoolExecutor
# import requests
# import time
#
# def task(url):
# response = requests.get(url)
# print(url,response)
# # 写正则表达式
#
#
# pool = ProcessPoolExecutor(7)
# url_list = [
# 'http://www.cnblogs.com/wupeiqi',
# 'http://huaban.com/favorite/beauty/',
# 'http://www.bing.com',
# 'http://www.zhihu.com',
# 'http://www.sina.com',
# 'http://www.baidu.com',
# 'http://www.autohome.com.cn',
# ]
# for url in url_list:
# pool.submit(task,url)
#
# pool.shutdown(wait=True)
# """
#
# ########### 编写方式二 ###########
# from concurrent.futures import ProcessPoolExecutor
# import requests
# import time
#
# def task(url):
# response = requests.get(url)
# return response
#
# def done(future,*args,**kwargs):
# response = future.result()
# print(response.status_code,response.content)
#
# pool = ProcessPoolExecutor(7)
# url_list = [
# 'http://www.cnblogs.com/wupeiqi',
# 'http://huaban.com/favorite/beauty/',
# 'http://www.bing.com',
# 'http://www.zhihu.com',
# 'http://www.sina.com',
# 'http://www.baidu.com',
# 'http://www.autohome.com.cn',
# ]
# for url in url_list:
# v = pool.submit(task,url)
# v.add_done_callback(done)
#
# pool.shutdown(wait=True)



########################################################################################################
# 线程与进程的区别
# 1.一个线程共享进程里的所有资源
# IO密集型用多线程
# 计算密集型用多进程
# 应用程序就是一个软件,一个软件就是一个进程,进程可以包含多个线程
# Pyhton里有JIL锁,同一时刻只能有一个线程会被CPU调度,如果用线程会被限制,即使开了多线程,效率反而不高
# 对于IO操作是不用通过CPU的
#
# 并发
# 异步IO
# 协程:一个线程在做很多事情,让一个线程先执行一个函数,执行时终止再执行其他,都是仅仅是切换
# 协程与异步IO可以共同完成并发请求
# Python内置模块:asyncio

posted on   pandaboy1123  阅读(144)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示