Python 被认为“不是真的多线程”主要是由于全局解释器锁 (GIL) 的存在。 GIL 是 CPython 解释器(Python 最常用的实现)中的一个机制,它限制了同时只能有一个线程执行 Pyt...
国外流行的免费模拟 API 接口工具,快速创建 Mock 接口数据
有时候我们希望临时使用一个模拟 API 接口,来帮助我们在开发中返回期待的格式数据。 所以我收集了一些常用的免费服务,可以非常方便地帮你创建假的 API Mock 数据,测试前端应用或其他客户端与服务...
记一次 Python 应用开发频繁假死的问题
问题背景 最近在开发一款自动化的应用,其中有一个自动化任务会由下面这三个按钮控制: 逻辑也很简单,我大概画下图就是这样的: 但是,在测试时,却发现了问题: 当我点击暂停任务后,此时子线程被阻塞。如果我...
记一次在 Python 中因为文件路径导致的错误
最近在编写一个自动化应用,需要管理浏览器的状态。 通过单例模式的设计,实现了只有一个浏览器实例,这样其它模块或者函数调用这个浏览器类,用的都是同一个实例,就可以管理这个浏览器的状态了。 类似下面这样调...
Python 线程中,变量的作用域会有什么不同
# 线程局部存储 thread_local_data = threading.local() 在Python中,线程中的变量作用域与普通的Python程序中的变量作用域是相似的,但在多线程环境中,需要...
Python 中单例模式的实现与使用
实现方法 在Python中,单例模式可以通过多种方法实现。单例模式的目标是确保一个类只有一个实例,并提供一个全局访问点。以下是几种常见的实现单例模式的方法: 方法 1: 使用模块 Python中的模块...
pip error: ProtocolError('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
本文记录了我解决问题的尝试及思路,所以会比较啰嗦,如果只是为了寻找解决答案的,可以直接跳到最后一段查看。 This document records my attempts and thought p...
解决 externally-managed-environment 错误,在 python 中使用 pip 安装包时
当我使用 pip3 安装依赖包时,总是报错,提示: error: externally-managed-environment error: externally-managed-environmen...
在PHP中,如何实现互斥锁,避免同时大量请求查询同一个数据导致缓存失效(被击穿)
很多技术确实也只有用到了才能理解。 之前听到缓存失效的三种情况,缓存雪崩、缓存穿透、缓存击穿是很难理解的,因为那时候用的缓存确实比较少,没有那么多问题,也就理解不了这些理论。 最近用了一段时间的缓存,...
PHP8 中手动安装 GD 拓展库的方法(使用包管理器超简单)
上一个教程中我们已经安装了php8,但是使用后发现 GD 拓展忘记加上去了。 本来在php8编译的时候,在配置中加上这句:--enable-gd就可以了,更多细节可以看官方说明:GD 但现在需要手动加...