搜索到与相关的文章
编程技术

ConcurrentLinkedQueue的实现原理分析

1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技

系统 2019-08-29 22:40:24 1879

编程技术

美刊评出2009年度十大发明

年年月月,都有无数发明狂人在忙碌。他们可能无法治愈白血病或者送宇航员上火星,但其作品对现实的影响一样深远。美国《大众科学》杂志据此评选出2009年度十大发明,包括使用整形技术不会污染水质的鱼饵、隔热防火的蘑菇墙板、世界上速度最快的坦克、利用汽车颠簸发电的减震器、帮助截瘫患者重新行走的“机器腿”、让护士不再为寻找静脉苦恼的新式导管……01摩天大楼逃生轮名称:RescueReel研发成本:33.5万美元耗时:6年“9·11”发生后,凯文·斯通(KevinSto

系统 2019-08-29 22:03:35 1879

Python

shiboken绑定C++供python使用

C++类函数封装给python调用,大致分为三个部分,第一部分是把我们的C++类函数等封装成一个dll,即动态库。第二部分是生成一个绑定代码,就是用shiboken2根据我们需要封装暴露的文件,生成pythonC++代码。然后第三部分,就是根据第一和第二部分生成的库和代码,进一步封装成py库。然后python文件直接可以调用该库。具体代码如下,源码用的是python的官方源码。主要讲解每个部分的使用。源码:------------------icecrea

系统 2019-09-27 17:55:19 1878

Python

python笔记:mysql、redis操作方法

模块安装:数据操作用到的模块pymysql,需要通过pipinstallpymysql进行安装。redis操作用的模块是redis,需要通过pipinstallredis进行安装。检验是否安装成功:进入到Python命令行模式,输入importpymysql、importredis,无报错代表成功;mysql操作方法如下:查询数据:fetchone、fetchmany(n)、fetchall()importpymysql#建立mysql连接,ip、端口、用

系统 2019-09-27 17:54:49 1878

Python

python启动应用程序和终止应用程序的方法

1.目的每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。2.环境系统环境:-win7-32位-python2.7.9你还需要安装pywin32。pipinstallpywin323.编写脚本启动应用程序脚本#coding=utf-8importwin32api#日报软件启动win32api.ShellExecute(0,'open',r'C:\ProgramFiles

系统 2019-09-27 17:53:58 1878

Python

Python 冒泡,选择,插入排序使用实例

最近学习了python基础,写一下3大排序练练手:复制代码代码如下:'''Createdon2013-8-23@author:codegeek'''//冒泡排序defbubble_sort(seq):foriinrange(len(seq)):forjinrange(i,len(seq)):ifseq[j]

系统 2019-09-27 17:52:28 1878

Python

python读取和保存图片5种方法对比

python读取和保存图片5种方法对比python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块方法一:利用PIL中的Image函数这个函数读取出来不是array格式,这时候需要用np.asarray(im)或者np.array()函数。区别:np.array()是深拷贝,np.asarray()是浅拷贝copy.copy浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象。copy.deepcopy深拷贝拷贝对象及其子对象例子

系统 2019-09-27 17:50:45 1878

Python

可能是最全面的 Python 字符串拼接总结

来源:枫恋寒链接:https://segmentfault.com/a/119000001.png"font-size:12px;">在Python中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。加号连接第一种,通过+号的形式:>>>a,b='hello','world'>>>a+b'helloworld'逗号连接第二种,通过,逗号的形式:>>>a,b='hello','world'>>>print(a,b)helloworld

系统 2019-09-27 17:47:09 1878

Python

浅谈python对象数据的读写权限

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。下面就来总结一下学习后的解决方案。1,使用2个下划线前缀隐藏属性或者方法。__xxx#!/usr/b

系统 2019-09-27 17:38:12 1878