- 博客(3)
- 收藏
- 关注
原创 实现LRU缓存机制
题目LRU 缓存机制,设计和实现一个 LRU(最近最少使用)缓存数据结构。LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存。get(key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回一个默认值。put(key, value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「key-value」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间时间复杂度要求O(1
2020-11-24 00:12:41 542 1
原创 Python的全局锁
介绍GIL (Global Interperter Lock) 称作全局解释器锁,也可以称它为全局排他锁。GIL只在CPython中存在。比如JPython就没有这个概念。GIL对程序的影响在python多线程的情况下,每个线程的执行方式是这样的获取GIL -> 执行代码,直到遇到IO操作,执行了一定的代码量(python2),执行了一定的时间(python3) -> 释放GIL那么问题来了,GIL是全局锁,也就是一个进程中只有一个,没有拿到GIL就不允许在CPU中执行,所以Pytho
2020-11-22 22:53:05 1937 2
原创 浅谈Django的Signals的实现
浅谈Django的Signals的实现在说Signals的实现之前,需要先了解一下发布/订阅模型模型介绍发布订阅是一种消息范式,消息的发送者不会将消息直接发送给特定的接收者。而是将消息发送某个频道上,无需了解哪些订阅者可能存在。同样的,订阅者可以表达对一个或多个频道的兴趣,只接收感兴趣的消息,无需了解哪些发布者存在。发布者即消息的生产者。频道一个消息的通道,标识发布者需要将消息发送到哪一个消息通道。订阅者即消息接收者。Django提供的Signals与model有关的signalsf
2020-11-22 15:57:59 366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人