Python

python 插件架构 多线程多任务

目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(

系统 2019-09-27 17:46:02 2255

Python

Python的互斥锁与信号量详解

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

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

Python

python链表

一简介1链表简介链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时

系统 2019-09-27 17:45:28 2255

编程技术

程序员的七种武器

世界上有两件事情,需要一辈子的努力。第一是学习,第二是锻炼。其实这本是说明一个问题:每个人在提高自己能力这件事情上,需要持续不断地努力。以最典型的例子来看,只有通过学习,程序员才能保证不断进步。一方面我们学习新的软件技术和更新速度极快的业界新名词;另外一方面,我们也需要不断加强基本技能的巩固。在这样的前提下,“程序员的七种武器”这个选题就应运而生了。撇开众多软件开发人员的基本素质(学习能力、解决问题能力等)不谈,我们希望能够通过本期专题来让读者更加清晰地认

系统 2019-08-29 23:00:02 2255

编程技术

WEB开发偷懒相当牛B之 -- Zen Coding

可以说是偷懒吧,也可以说是敏捷吧,因为他减少了好多重复繁杂的劳动。有时间慢慢研究。另外,http://zen-coding.ru/貌似是这东西的官网,但就一张图片,啥也没有。http://zen-coding.ru/demo/是一个在线DEMO。其他目录都没有去试探过了。WEB开发偷懒相当牛B之--ZenCoding

系统 2019-08-29 22:43:52 2255

编程技术

设计模式—详解篇—创建型模式

1.在java程序中,对象可以被显式地或者隐式地创建?1.1显式的创建对象的方式A.用new语句创建对象B.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法C.调用对象的clone()方法D.运用序列化手段,调用java.io.ObjectInputStream对象的readObject()方法.1.2隐式建对象的方式A.Stringa="hello";这种

系统 2019-08-29 22:38:35 2255

编程技术

在RCP中实现系统托盘功能

在RCP中实现系统托盘功能在RCP中加入系统托盘功能,类似msn和QQ。功能就不说了。在RCP的WorkbenchWindowAdvisor的postWindowOpen()中创建系统托盘,另外要overridepreWindowShellClose()方法,否则按程序右上角的X,整个程序就会被关闭,重写后实现程序最小化的功能。ApplicationWorkbenchWindowAdvisor.java

编程技术

【转帖】一个不喝中国水的日本人

公司最近接了一批日本的服装加工单,工艺相当复杂,一件时装,涉及到五种质地不同的面料,作为委托方的日本,为此,专门派了一名职员过来监督,这是这名普通的职员,却给这家时装公司带来了一场震动,准确的说,是他的一些行为开始让中国人难以理解,但最终不得不折服。那职员来中国,只带了一个小皮箱,行李之简单,轻过中国人走亲戚,大家可以想想,我们国人出国,不管是公干还是私事,不管时间长短,哪个不是大包小包?从中,我们可以看出日本人的敬业精神以及对企业的忠诚度,他是过来工作的

系统 2019-08-29 22:13:27 2255

编程技术

.NET4.0并行计算技术基础(2)

.NET4.0并行计算技术基础(2)上一部分介绍了CPU与“核”以及“并行”和“并发”的区别,这一部分我们将进一步介绍并行计算的性能衡量与并行计算系统的大致分类,为后面介绍.NET4.0的并行计算打下基础。3如何衡量并行计算的性能提升?之所以要研究并行计算,其目的是获得更好的性能。一个软件系统的性能,通常使用两个指标来进行衡量:(1)响应速度(Responsiveness):用户向软件系统提交一个工作任务,软件系统要花费多长的时间才能处理完毕并将结果通知用

系统 2019-08-29 22:04:37 2255

编程技术

ext oop

javascript创建一个构造函数来定义类然后通过prototype来扩展下面我们通过javascript构造一个人类//相当于java中的构造函数person=function(name,address){this.name=name;this.age=22;this.address=address;};//相当java中的方法person.prototype={sayHi:function(){alert("大家好我的名字是"+this.name+"

系统 2019-08-29 21:58:35 2255

编程技术

Qt4.8.1 帮助文档无效 用不了 怎么办?

Qt大名鼎鼎的是他的帮助文档非常好,无奈自然状态下安好qt4.8.1后竟然用不了,连输入Widget尽然都查找不到。以前qt4.8.0下,是可以的。不需要配置的,这里要先配置一下:点QtCreator----工具------选项------(左侧栏)帮助-----(右侧栏)文档-----点击添加,会自动打开QtSdk安装的位置。找到Documentation,选择qt.qch(56.2M),就可以了。或者将里面的所有文件都添加进去也可以。上张图:Qt4.8

系统 2019-08-12 09:29:59 2255

Python

Python获取基金网站网页内容、使用BeautifulSoup库分析html

本文实例讲述了Python获取基金网站网页内容、使用BeautifulSoup库分析html操作。分享给大家供大家参考,具体如下:利用urllib包获取网页内容#引入包fromurllib.requestimporturlopenresponse=urlopen("http://fund.eastmoney.com/fund.html")html=response.read();#这个网页编码是gb2312#print(html.decode("gb231

系统 2019-09-27 17:57:29 2254

Python

Python 分析天气,告诉你中秋应该去哪里

中秋佳节以到,不知道各位小伙伴儿有没有想好去哪里玩呢。不过说实在的,每到节假日,到处都是人山人海,那句“我动也不能动”,还不时的出现在我的耳畔呢。但是又说回来,假期出游,除了人的因素外,天气的因素是不是也要考虑下呢,今天,我们就带大家来看看,中秋小长假,哪些地方适宜出游。获取数据数据的获取,就从中国天气网站上直接抓取,网络上的一些API,有的信息不是很全,只能获取最近3天的数据,有的又需要付费,还不如自己抓来的痛快。http://www.weather.c

系统 2019-09-27 17:57:15 2254

Python

Python正则表达式匹配ip地址实例

本文实例讲述了正则表达式匹配ip地址实例。代码结构非常简单易懂。分享给大家供大家参考。主要实现代码如下:importrereip=re.compile(r'(?>>",ipPS:关于正则,这里再为大家推荐2款非常方便的正则表达式工具供大家参考使用:JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript正则表达式在线生成工具:http://tools.jb51.net/regex/create

系统 2019-09-27 17:55:37 2254

Python

Python列表/字典操作 时间复杂度

文章目录Python列表/字典操作时间复杂度#1环境#2List#3Dict#字典的特性Python列表/字典操作时间复杂度#1环境Python3.7.3#2List操作操作说明时间复杂度index(value)查找list某个元素的索引O(1)a=index(value)索引赋值O(1)append(value)队尾添加O(1)pop()队尾删除O(1)pop(index)根据索引删除某个元素O(n)insert(index,value)根据索引插入某个

系统 2019-09-27 17:54:13 2254