搜索到与相关的文章
各行各业

第二人生的源码分析(四十二)实现消息处理的线程

第二人生里使用线程循环来处理消息,这样的结构就比较清晰。比如有一个写文件的请求,就可以把这个请求放到线程队列里,然后唤醒线程,让线程处理这个请求。那么在第二人生里是怎么样构造消息循环呢?又是怎么样执行其它线程发过来的请求呢?带着这两个问题来分析下面这几段代码。#001voidLLQueuedThread::run()#002{下面实现消息循环。#003while(1)#004{#005//thiswillblockontheconditionuntilru

系统 2019-08-12 01:32:47 2175

数据库相关

SQL点滴35—SQL语句中的exists

原文:SQL点滴35—SQL语句中的exists比如在Northwind数据库中有一个查询为SELECTc.CustomerId,CompanyNameFROMCustomerscWHEREEXISTS(SELECTOrderIDFROMOrdersoWHEREo.CustomerID=c.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个

系统 2019-08-12 01:32:38 2175

Python

【Python】DataFrame使用drop_duplicates()函数

摘要在进行数据分析时,我们经常需要对DataFrame去重,但有时候也会需要只保留重复值。这里就简单的介绍一下对于DataFrame去重和取重复值的操作。创建DataFrame这里首先创建一个包含一行重复值的DataFrame。DataFrame去重,可以选择是否保留重复值,默认是保留重复值,想要不保留重复值的话直接设置参数keep为False即可。3.取DataFrame重复值。大多时候我们都是需要将数据去重,但是有时候很我们也需要取重复数据,这个时候我

系统 2019-09-27 17:56:02 2174

Python

廖雪峰Python教程笔记(六)

廖雪峰Python教程笔记(六)8模块使用模块8模块在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。模块的好处:最大的好处是大大提高了代码的可维护性。引用其他模块,编写代码不必从零开始可以避免函数名和变量名冲突,尽量不要与内置函数名字

系统 2019-09-27 17:54:19 2174

Python

python 最大深度最小深度 LeetCode 104,111

python最大深度最小深度LeetCode104,111解法:1、BFS:寻找最大深度的时候,很容易想到就是,可以直接进行层次遍历,当无法在进行遍历下去的时候就是最深的深度;当寻找最小深度的时候,对每一个节点检查它是否是叶子节点,也就是检查它是否有左子树和右子树。2、DFS:每次进行遍历的时候,要判断是否是叶子节点,更新max深度的值和min深度的值。BFS版本#Definitionforabinarytreenode.#classTreeNode(ob

系统 2019-09-27 17:54:14 2174

Python

Python:密度聚类DBSCAN,使用了sklearn.cluster.

DBSCAN的聚类类簇数k是自适应的。太忙了没工夫写文字了。fromsklearnimportdatasetsimportnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportDBSCANX1,y1=datasets.make_circles(n_samples=5000,factor=.6,noise=.05)X2,y2=datasets.make_blobs(n_samples=10

系统 2019-09-27 17:53:45 2174

Python

Python学习之认识函数

函数定义函数是一段实现特定功能的代码,定义一个函数名称,通过这个函数名称可以多次调用该函数函数的定义方法以及特点函数名:一般说只要合法标识符就行,但为了代码的通读性,约定全部小写字母,多个字母之间用下划线形参列表:用于定义函数可接收的参数,多个参数用逗号隔开,在函数中定义了参数,在调用的时候必须传参函数关键字def函数可以定义零个或者多个参数使用return结束函数。默认返回None。函数帮助文档定义函数帮助文档:只需要一段字符串放在函数声明之后,函数体之

系统 2019-09-27 17:52:49 2174

Python

python控制台实现tab补全和清屏的例子

在shell(bash)下有2个很基本的功能,那就是tab补全,和clear清屏,对于我这种时不时不自觉的就手残要clear清屏一下的人来说,python控制台不能清屏很不爽,经过google的帮忙,找到了解决办法。执行“manpython”可以看到这样一个环境变量:PYTHONSTARTUPIfthisisthenameofareadablefile,thePythoncommandsinthatfileareexecutedbeforethefirst

系统 2019-09-27 17:52:47 2174

Python

Python中列表乘法需注意的问题/

前几天看到一个关于Python的面试题lst=[1,2,[3]]lst1=lst*2#[1,2,[3],1,2,[3]]lst1[2].append(4)#[3,4]print(lst1)开始时,就处理错了。最终上机测试发现,乘法貌似是内存地址的拷贝。也就是说lst1[2]和lst1[5]都指向同一个对象,最终lst1结果如下:print(lst1)#[1,2,[3,4],1,2,[3,4]]

系统 2019-09-27 17:52:30 2174

Python

Python除法之传统除法、Floor除法及真除法实例详解

先给大家介绍下Python除法之传统除法、Floor除法及真除法python3.0/总是执行真除法,不管操作数的类型,都返回浮点数结果(即使能整除,如4/2==2.0);//执行Floor除法,会截断余数直接返回一个整数,如果有任何一个操作数是浮点数则返回浮点数(如4//2==2,3//2==1.5,4.0//2==2.0)总之:在python3.0中,/为真除法,不会截断,且结果无论能否整除都是浮点数;//为地板除法,会对除法的结果进行取整返回,至于返回

系统 2019-09-27 17:51:41 2174