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

ConcurrentLinkedQueue的实现原理分析

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

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

编程技术

To套 or Not to 套? This is a question.

老张:我感觉,我这戴上套子好丑啊。你那也挺丑的吧?老王:我也是这个感觉,套子好丑啊。我靠!还是老程那个好看。老张:老程你没戴套子吧?老程:我戴套子了,好吧!老张:??老吴:你说老程没戴套子。老王:哦......老张::-/PS:其实讨论的主题是魅族系列MP3的硅胶套美观问题。To套orNotto套?Thisisaquestion.

系统 2019-08-29 22:17:14 1827

Python

解决Mac下使用python的坑

操作系统:macOSHighSierra10.13.3Python3.6因为此版本自带python2.7,就下载并安装了anaconda2的版本,结果使用的时候系统自带的python和anaconda里的python冲突,也就是装包的时候只在一处装了,另一处却不能使用。因此要配置环境变量,替代到系统自带的版本。python2.7总会发生中文字体乱码的情况,果断放弃,准备使用anaconda3.1.安装anaconda3在官网下载,并安装,直接都是下一步。2

系统 2019-09-27 17:57:25 1826

Python

Python专用方法与迭代机制实例分析

本文实例讲述了Python专用方法与迭代机制,分享给大家供大家参考之用。具体分析如下:众所周知,Python设计哲学是“优雅”、“明确”、“简单”,对于一件事只用一种最好的方法来做,而这种优雅在于背后很自然的隐藏了很多细节。比如对一些对象直接用for语句来迭代,一些全局函数可以作用于很多具有共同特征的对象,还有生成器装饰器自省等特性。其中很多实现都是借助Python内部专用方法,而对外则使用统一的全局函数来进行操作,在配合一些语法糖,使得Python写起来

系统 2019-09-27 17:56:52 1826

Python

详谈Python2.6和Python3.0中对除法操作的异同

Python中除法有两种运算符:'/'和'//';有三种类型的除法:传统除法、Floor除法和真除法。X/Y类型:在Python2.6或者之前,这个操作对于整数运算会省去小数部分,而对于浮点数运算会保持小数部分;在Python3.0中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。示例代码:Python2.7版本中结果:>>>3/21>>>3/2.01.5>>>4/22>>>4/2.02.0Python3.4版本中结果:>>>3/

系统 2019-09-27 17:55:54 1826

Python

让你的 Python 代码优雅又地道

译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。——EdsgerWybeDijkstra在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。而且Python社区十分注重编码风格一的一致性,他们极力

系统 2019-09-27 17:55:36 1826

Python

【Python】列表(list)、元组(tuple)、集(set)、数组

列表(list)、元组(tuple)、集(set)、数组(array)的相互转换1.转换成list:list();2.转换成tuple:tuple()3.转换成set:set()#转换成set后,重复数据将会被删除,具体见https://blog.csdn.net/Darren1921/article/details/936315094.转换成array:array()先来看一下这四种类型的输出情况:实例1b=tuple("161561")c=list("

系统 2019-09-27 17:55:28 1826

Python

python创建数值列表和if语句,for循环的综合练习

阅读更多#1-20的列表a=list(range(1,21))print(a)#1-10000的列表squares=[]forvalueinrange(1,10001):square=valuesquares.append(square)print(squares)#1-10000的列表,核实从1开始10000结束,求1-10000之和a=list(range(1,10001))print(a)print(min(a))print(max(a))print

系统 2019-09-27 17:54:51 1826

Python

python3 模拟登录v2ex实例讲解

闲的无聊。。。网上一堆,正好练手(主要是新手)#coding=utf-8importrequestsfrombs4importBeautifulSoupheaders={'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/56.0.2924.87Safari/537.36','origin':'https://www.v2ex.

系统 2019-09-27 17:54:30 1826