搜索到与相关的文章
Python

Python的互斥锁与信号量详解

并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein

系统 2019-09-27 17:45:51 1958

Python

python generator与coroutine

pythongenerator与coroutine协程简单介绍协程,又称微线程,纤程,英文名Coroutine。协程是一种用户态的轻量级线程,又称微线程。协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置。优缺点优点:1.无需线程

系统 2019-09-27 17:45:41 1958

Python

[Python实战]使用栈实现简易计算器

我们这次实现的命令行计算器,支持加减乘除、括号、浮点数、负数,以及查看历史和退出功能。主要的思路:read-parse-print-loop。read阶段是指读取用户在提示符(cal>)之后输入的字符串。parse阶段包括:将用户输入的字符串分割成单个对象比如:符号+,或者数字1.2。其次将中缀表达式转化后缀表达式,接下来计算后缀表达式的数值。print阶段指的是将parse阶段的数值打印在终端上。loop阶段是指重复上述操作,除非用户输入exit符号或者

系统 2019-09-27 17:45:27 1958

Python

Python定时任务工具之APScheduler使用方式

APScheduler(advancededpythonscheduler)是一款Python开发的定时任务工具。文档地址apscheduler.readthedocs.io/en/latest/u…特点:不依赖于Linux系统的crontab系统定时,独立运行可以动态添加新的定时任务,如下单后30分钟内必须支付,否则取消订单,就可以借助此工具(每下一单就要添加此订单的定时任务)对添加的定时任务可以做持久保存1安装pipinstallapscheduler

系统 2019-09-27 17:45:25 1958

Python

浅谈Python中函数的参数传递

1.普通的参数传递>>>defadd(a,b):returna+b>>>printadd(1,2)3>>>printadd('abc','123')abc1232.参数个数可选,参数有默认值的传递>>>defmyjoin(string,sep='_'):returnsep.join(string)>>>myjoin('Test')'T_e_s_t'>>>myjoin('Test',';')'T;e;s;t'?>>>defmyrange(start=0,st

系统 2019-09-27 17:38:15 1958

Python

python中urllib模块用法实例详解

本文实例讲述了python中urllib模块用法。分享给大家供大家参考。具体分析如下:一、问题:近期公司项目的需求是根据客户提供的api,我们定时去获取数据,之前的方案是用php收集任务存入到redis队列,然后在linux下做一个常驻进程跑某一个php文件,该php文件就一个无限循环,判断redis队列,有就执行,没有就break.二、解决方法:最近刚好学了一下python,python的urllib模块或许比php的curl更快,而且简单.贴一下代码复

系统 2019-09-27 17:38:05 1958

Python

谈一谈基于python的面向对象编程基础

活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态

系统 2019-09-27 17:37:56 1958

Python

Python 跳出循环

break负责跳出整个循环>>>foriinrange(10):...ifi%2!=0:...break...else:...print(i)...0注意:但是break只能跳出一层循环,如果程序中有两个循环,第二个循环嵌套在第一个循环中,如果第二个循环被break,那么第一个循环会继续执行。Python不支持一次跳出多个循环。continue是跳出本次循环,继续下一次循环。>>>foriinrange(10):...ifi%2!=0:...continu

系统 2019-09-27 17:37:45 1958

编程技术

得到数据库中所有的表以及表字段

邹建写的selectcasewhenc.colid=1theno.nameelse''end表名,--得到表名,重复的表名不显示c.colid顺序,c.name字段名,t.name字段类型,columnproperty(c.id,c.name,'PRECISION')字段长度,isnull(c.Scale,'')小数位,c.length占用字节,casewhenc.isnullable=1then'√'else''end可为空,casewhenc.coli

系统 2019-08-29 23:41:41 1958

编程技术

使用 WSDL 部署 Web 服务,第 2 部分: 简单对象

SOAP和WSDL我在本系列文章的第1部分介绍了WSDL。WSDL描述了Web服务的接口。Web服务所有者将用SOAP来实现他们的接口。因此,WSDL服务实际上作为SOAP服务一样存在。一旦Web服务用户拥有WSDL文件,他或者她就知晓接口的细节。他或者她就会用SOAP来与Web服务通信。可以把Web服务考虑为对象,可以通过WSDL接口公开并且使用SOAP通过因特网远程访问。既然服务是对象,那么肯定有每种服务的相关属性和每种服务调用的行为。SOAP消息是X

系统 2019-08-29 23:15:33 1958