- 军军小站|张军博客
搜索到与相关的文章
编程技术

ConcurrentLinkedQueue的实现原理分析

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

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

Python

跟老齐学Python之网站的结构

很早很早的时候,computer这个东西习惯于被称之为计算机,因为它的主要功能是完成一些科学计算的东西,我记得自己鼓捣它的时候,就是计算,根本就没有想到它有早一日还可以用来做别的。后来另外一个名字“电脑”逐渐被人们接收了,特别是网络发展起来之后,computer这个东西,如果要不上网,简直就不知道干什么。而且,现在似乎还有一个趋势,越来越强化网络的作用,而本机的功能虽然硬件在提升,可以做的事情感觉不多了。不管怎么,网络是离不开了。上网,连上网之后干什么呢?

系统 2019-09-27 17:54:59 1856

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 1856

Python

利用Python如何生成hash值示例详解

一、介绍如果在Python中需要对用户输入的密码或者其他内容进行加密,首选的方法是生成hash值。在Python中可以利用二个模块来进行:-crypt-hashlib二、crypt(一)crypt的主要方法和常量名称描述md5(…)利用md5算法加密sha1(…)利用sha1算法加密sha224(…)利用sha224算法加密sha256(…)利用sha256算法加密sha384(…)利用sha384算法加密sha512(…)利用sha512算法加密(二)使

系统 2019-09-27 17:52:57 1856

Python

Python列表对象实现原理详解

Python中的列表基于PyListObject实现,列表支持元素的插入、删除、更新操作,因此PyListObject是一个变长对象(列表的长度随着元素的增加和删除而变长和变短),同时它还是一个可变对象(列表中的元素根据列表的操作而发生变化,内存大小动态的变化),PyListObject的定义:typedefstruct{#列表对象引用计数intob_refcnt;#列表类型对象struct_typeobject*ob_type;#列表元素的长度intob

系统 2019-09-27 17:52:11 1856

Python

在python里面运用多继承方法详解

如何在PYTHON里面运用多继承classFather:defhobby(self):print("lovetoplayvideogame.")classMother:defcook(self):print("lovetocookanything.")#比如说有两个类,如果想要一个子类同时继承这两个类,应该怎么操作呢。classFather:defhobby(self):print("lovetoplayvideogame.")classMother:de

系统 2019-09-27 17:51:51 1856

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 1856

Python

Linux下使用python自动修改本机网关代码分享

#!/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 1856

Python

【python】 一文弄懂浅拷贝与深拷贝

一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字

系统 2019-09-27 17:46:11 1856

Python

Python中函数的返回值示例浅析

前言:前面我们介绍了简单的介绍了函数和函数的参数,今天我们来说一下Python中函数的返回值。函数的返回值:函数运算的结果,需要进一步的操作时,给一个返回值return用来返回函数的结果,如果没有返回值,默认为None,python中可以间接返回多个值,也可以返回一个元组,程序在运行的时候,一旦遇到return,函数执行结束,后面的代码不会执行。defmypow(x,y=2):res=x**yprint(res)returnresprint('python

系统 2019-09-27 17:45:42 1856