前言

最近在学习python,发现了解线程信号量的基础知识,对深入理解python的线程会大有帮助。所以本文将给大家介绍Python3.X线程中信号量的使用方法,下面话不多说,来一起看看详细的介绍:
方法示例
线程中,信号量主要是用来维持有限的资源,使得在一定时间使用该资源的线程只有指定的数量
# -*- coding:utf-8 -*-
""" Created by FizLin on 2017/07/23/-下午10:59
mail: https://github.com/Fiz1994
信号量
maxconnections = 5
...
pool_sema = BoundedSemaphore(value=maxconnections)
Once spawned, worker threads call the semaphore's acquire and release methods when they need to connect to the server:
pool_sema.acquire()
conn = connectdb()
... use connection ...
conn.close()
pool_sema.release()
"""
import threading
import time
import random
sites = ["https://www.baidu.com/", "https://github.com/Fiz1994", "https://stackoverflow.com/",
"https://www.sogou.com/",
"http://english.sogou.com/?b_o_e=1&ie=utf8&fr=common_index_nav&query="] * 20
sites_index = 0
maxconnections = 2
pool_sema = threading.BoundedSemaphore(value=maxconnections)
def test():
with pool_sema:
global sites_index, sites
url = str(sites[sites_index])
k = random.randint(10, 20)
print("爬去: " + url + " 需要时间 : " + str(k))
sites_index += 1
# print(url)
time.sleep(k)
print('退出 ', url)
for i in range(100):
threading.Thread(target=test).start()
可以发现该程序中,永远只有2个爬虫是处于活动状态
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# python
# 多线程
# 信号量
# 线程信号量
# 线程
# 使用
# Python的互斥锁与信号量详解
# python实现事件驱动
# python模拟事件触发机制详解
# Python线程条件变量Condition原理解析
# python条件变量之生产者与消费者操作实例分析
# python信号量
# 条件变量和事件详解
# 发现该
# 这篇文章
# 在一
# 谢谢大家
# 多说
# 将给
# 爬去
# 下午
# 是用来
# 有疑问
# maxconnections
# pool_sema
# github
# connect
# https
# mail
# acquire
# threads
# call
相关文章:
建站之星后台密码遗忘或太弱?如何重置与强化?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何注册花生壳免费域名并搭建个人网站?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
已有域名和空间如何搭建网站?
如何快速启动建站代理加盟业务?
如何通过虚拟机搭建网站?详细步骤解析
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何使用Golang安装API文档生成工具_快速生成接口文档
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
建站之星安装后界面空白如何解决?
如何访问已购建站主机并解决登录问题?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
ppt制作免费网站有哪些,ppt模板免费下载网站?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
建站之星×万网:智能建站系统+自助建站平台一键生成
安云自助建站系统如何快速提升SEO排名?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
如何通过免费商城建站系统源码自定义网站主题与功能?
如何快速登录WAP自助建站平台?
建站主机解析:虚拟主机配置与服务器选择指南
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
建站主机系统SEO优化与智能配置核心关键词操作指南
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
外贸公司网站制作哪家好,maersk船公司官网?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
网站微信制作软件,如何制作微信链接?
如何在云主机快速搭建网站站点?
建站之星导航配置指南:自助建站与SEO优化全解析
如何快速生成专业多端适配建站电话?
建站之星与建站宝盒如何选择最佳方案?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
网站制作壁纸教程视频,电脑壁纸网站?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
建站之星上传入口如何快速找到?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
建站之星收费标准详解:套餐费用及年费价格表一览
如何选择CMS系统实现快速建站与SEO优化?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
常州企业网站制作公司,全国继续教育网怎么登录?
建站VPS配置与SEO优化指南:关键词排名提升策略
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
高防服务器租用首荐平台,企业级优惠套餐快速部署
*请认真填写需求信息,我们会在24小时内与您取得联系。