-
2026-01-26 19:45:10
- Python 协程 asyncio 的事件循环原理
- asyncio事件循环是单线程调度器,基于I/O多路复用轮询就绪文件描述符并调度协程;await让出执行权而非挂起线程,触发暂停+注册恢复逻辑;asyncio.run()每次新建且仅运行一次事件循环,重复调用报RuntimeError。
-
886
-
2026-01-26 19:45:10
-
2026-01-26 19:45:24
-
2026-01-26 19:45:46
- SQL 大表删除数据的正确方式
- 千万级表直接DELETE易致日志暴涨、锁表、主从延迟甚至OOM;应分批删除(主键范围切片+显式COMMIT+限流)或重建表(导出保留数据+原子替换)。
-
344
-
2026-01-26 19:46:02
- Python 缓存机制优化程序性能
- @lru_cache有时拖慢程序:因参数不可哈希报错、大返回值耗内存触发GC、隐式状态导致缓存过期错误;应先性能分析,确保参数不可变、限制maxsize,避免缓存I/O或随机函数。
-
367
-
2026-01-26 19:46:47
- Python 动态类型的内部原理
- Python对象内存结构为PyObject*指针指向堆上对象,头部含ob_refcnt和ob_type字段;小整数、字符串字面量可能复用或驻留;None/True/False为单例;is比较地址,==调用__eq__;type()返回ob_type,isinstance()查MRO;动态类型导致每次操作需运行时查类型分发。
-
653
-
2026-01-26 19:47:02
-
2026-01-26 19:47:29
- Python 对象的内存布局与引用计数解析
- Python对象头含ob_refcnt和ob_type字段,普通对象头16字节,可变长对象额外有ob_size;引用计数增减取决于是否获得新引用,del仅减计数不保证立即释放,小整数和字符串缓存会干扰观察。
-
876
-
2026-01-26 19:48:01
-
2026-01-26 19:49:01
- 如何判断一个文件是否被其他进程独占锁定
- 最可靠方式是Windows下调用CreateFile并设dwShareMode=0,若返回INVALID_HANDLE_VALUE且GetLastError()为ERROR_SHARING_VIOLATION,则文件被独占打开;Linux/macOS需结合lsof和flock判断。
-
878