Python中的多线程锁

发布在 python

多线程是个坑爹的课题,有多线程就有锁。Python中有低级线程模块_thread、再封装一下就是threading、再来一下就是from concurrent.futures import ThreadPoolExecutor。其中涉及到的锁大概有Lock、RLock、Condition、Semaphore、BoundedSeamphore、Event。这么多看起来怪吓人的,其实这么多的锁全部只是由Lock演化出来的

阅读全文

Linux 信号

发布在 linux

信号是进程间通信的一种方式,同时它是一种异步的形式。先注册信号处理函数,当接收到信号的时候回调该函数进程处理。信号在系统中以数字的形式标识。每个信号对应着一个处理函数

阅读全文

上一篇 介绍了BK树和VP树,并说明用它可以优化汉明距离的查询。用来处理重复图片的问题。本篇我们做出示例演示如何使用,最终的结果是100万条数据。相对于全表遍历的31秒下降到54毫秒。使用了正确的索引速度提升了五百多倍

阅读全文

BK树和VP树

发布在 database

最近有一个项目需要用到simhash.获取图片的hash值并保存到数据库。在生成新的hash的时候和数据库进行比对。达到去重的效果。假如图片达到了一定数量级,那么每次查询会进行全表扫描,效率是比较低下的,而数据库默认的一些索引又无法达到这个需求,后来看到了BK树。记录一下

阅读全文

ficapy

author.bio


author.job


深圳