1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技
系统 2019-08-29 22:40:24 1877
年年月月,都有无数发明狂人在忙碌。他们可能无法治愈白血病或者送宇航员上火星,但其作品对现实的影响一样深远。美国《大众科学》杂志据此评选出2009年度十大发明,包括使用整形技术不会污染水质的鱼饵、隔热防火的蘑菇墙板、世界上速度最快的坦克、利用汽车颠簸发电的减震器、帮助截瘫患者重新行走的“机器腿”、让护士不再为寻找静脉苦恼的新式导管……01摩天大楼逃生轮名称:RescueReel研发成本:33.5万美元耗时:6年“9·11”发生后,凯文·斯通(KevinSto
系统 2019-08-29 22:03:35 1877
Python之读取用户指令和格式化打印一、读取用户指令当你的程序要接收用户输入的指令时,可以用input函数:name=input("请输入你的名字:")print("Hi"+name)程序中只要有input函数就会等待用户输入完并按回车键之后才会继续往下执行代码注:input()函数接收得到的值只是字符串,即使你输入的是数字或者其他数据类型的值,它也会把数字按照字符串处理,即接收得到值只会字符串。二、格式化打印假设现在需要打印出以下格式的内容,该怎么实现
系统 2019-09-27 17:56:58 1876
华为2019在线笔试题,现整理如下,以供之后参考GitHub题目介绍##################################################################################################################################'''题目描述:--对输入字符串检查是否存在非法字符,输出合法字符串(去重)和非法字符串(不去重)--对合法字符串循环左移10次,在
系统 2019-09-27 17:56:56 1876
今天在网上找了半天,发现很多关于此题目的程序都只能接收数据,所以随便找了个程序研究了一下,然后做出一些修改代码如下:fromsocketimport*importthreadingtcp_socket=socket(AF_INET,SOCK_STREAM)tcp_socket.connect(('192.168.1.102',8080))true=Truedefrece_msg(tcp_socket):globaltruewhiletrue:recv_ms
系统 2019-09-27 17:54:41 1876
操作系统:windows10安装模块:Pillowpytesseracttesseract-ocr1、首先安装Pillow,可以选择安装windows版的安装包下载地址:https://pypi.org/project/Pillow/#files此处我选择安装Pillow-6.1.0.win-amd64-py2.7.exe2、安装完成后再进行安装pytesseract下载地址:https://pypi.org/project/pytesseract/#fi
系统 2019-09-27 17:54:22 1876
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:25 1876
导言篇:我的python环境是:python3.6.5这里我选择的GUI编程包是:tkintertkinker在python2.5以后就是自带包了,所以我们不需要另外安装tkinker相对与其他pythonGUI编程的包而已,是相对容易入手的代码篇:#这是系统的登录界面importtkinterfromtkinterimportmessageboxclassLogin(object):def__init__(self):#创建主窗口,用于容纳其它组件sel
系统 2019-09-27 17:51:14 1876
ubuntu18.04版本,python版本python2.7,python3.5,python3.6因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3,默认会使用python3.5,无法调用安装包。解决方法:一、使用pythonxx.py运行程序时,加上版本号。比如python3.6xx.py二、1.要以root身份操作yz@yz-pc:~$sudosu2.确认本机下的python默认版本。调出终端,输入py
系统 2019-09-27 17:51:04 1876
#!/usr/bin/python#autochangegatewayCreatedBymickelfengimportosimportrandom,reg='gateway192.168.1.'rand=random.randint(1,3)test='www.baidu.com'command='/etc/init.d/networkingrestart'GW="%s%d"%(g,rand)PingTest='ping-c3'+testtry:resu
系统 2019-09-27 17:46:54 1876