- 博客(10)
- 收藏
- 关注
原创 Python使用 concurent 浅析/ 使用concurent构建线程池/进程池
Python concurrent介绍为什么需要concurent实际使用多线程编程如何调用获取已经成功的task的返回通过executor获得已经完成的task多进程编程多进程使用介绍为什么需要concurent线程和进程间的区别和使用场景下一篇会介绍到,本篇只接受多线程和多进程再Python中的应用concurent是比起threading更加底层的库,比起Python提供的 threading有几个好处可以通过主线程调度子线程,获得子线程状态以及结果concurent中多线程和多进程接
2020-06-19 18:18:25
255
原创 Python 线程同步 条件 Condition
线程同步方法-Condition介绍使用Condtion实现两个线程通信例子解释介绍Contion是Python线程同步的一种方法,也是Python中最复杂的线程同步的方式之一,相比Lock,Condition可以通过特定事件触发,比起Lock更加灵活。Condition内部实际上还是使用Rlock和Lock实现的。Conditon的常用方法 wait,wait_for,notify,notify_allwait :等待条件通知wait_for:等待某个条件的通知notify :唤醒一个或多个正
2020-06-19 16:02:38
605
原创 Python线程同步问题 (Lock,Rlock)
Python线程同步为什么需要线程同步线程锁Lock使用缺点Rlock介绍使用为什么需要线程同步可以观察以下代码,当两个线程同时对一个一个变量操作的时候就会发生线程不同步问题,因为 +=和-= 操作没有原子性,也就是非线程安全,两个函数交替进行这类操作的时候就会引起变量值不可控。注意,不是List不是线程安全的,是+=,-=这两个操作不是线程安全的是否线程安全说的是某个操作,而不是List这个数据结构除了避免使用非线程安全的操作,还有别的方式保持线程同比,其中的一个方法就是Lock线程不同步引
2020-06-16 21:50:04
294
原创 Python多线程通信
Python多线程通信为什么需要通信通信方法共享变量共享变量介绍实现消息队列(Queue)实现通信消息队列介绍实现为什么需要通信在生产者和消费者的模型中,如果有一个生产者和多个消费者,消费者之间就需要线程节的通信,避免重复读取同一个数据。通信方法共享变量共享变量介绍共享变量是最简单粗暴的方式进行多线程之间的通信,使用Python的 global关键字,把一个list变为全局变量,然后对这个全局变量进行添加和获取。优点就是简单粗暴,浅显易懂,容易写代码,容易理解,同样缺点也有很多。缺点:操作
2020-06-16 15:49:37
498
原创 布隆过滤器(BloomFilter)的原理及应用
布隆过滤器介绍使用场景其他数据结构缺点ListTreeHashTable布隆过滤器优点计算介绍本质上布隆过滤器(BloomFilter)是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在。原理会在下面介绍。使用场景当你要判断一个东西是否存在的时候会使用到,比如:网页爬虫对URL的去重,避免爬取相同的URL地址;反垃圾邮件,从数十亿个垃圾邮件列表中判断某邮箱是否垃圾邮箱(
2020-06-16 03:35:12
214
原创 Python 数据结构 用Python实现AVL树 不同操作的时间复杂度详解
AVL树的Python实现AVL树介绍Python实现NodeaddremovegetHeightrebalance完整代码测试总结1.AVL树2.操作复杂度AVL树介绍普通的 二叉搜索树介绍:https://blog.csdn.net/qq_40831558/article/details/106664884AVL 树是一种平衡二叉树,得名于其发明者的名字( Adelson-Velskii 以及 Landis)。(可见名字长的好处,命名都能多占一个字母出来)。平衡二叉树递归定义如下:左右子树的
2020-06-15 02:52:11
1141
原创 Python面向对象编程 - 浅析实例方法,静态方法,属性方法,类方法的应用和区别
Python类的常用装饰器获取私有属性继承逻辑类的常用方法实例方法静态方法属性方法类方法简单阐述了如何获得私有属性,Python的继承逻辑以及原因,四种常用的方法。获取私有属性众所周知,Python中的类遍历当前方加了双下划线就无法从外部访问。其实还是有方法访问的,因为Python并不会严格的让变量禁止被访问。class person: def __init__(self,age=18,weight = 60): self.age = age self._
2020-06-11 17:20:37
333
原创 Introduction of Cipher Security - Find Large Prime Number
For security of our cryptosystems, we will need to choose a large random prime number (secret keys) efficiently.Les's assume we need a prime number which is 1000bits. Before choosing prime numbe...
2018-04-10 20:50:19
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人