Python 的全局解释器锁(GIL)是一个机制,它确保同一时间只有一个线程执行 Python 字节码。这意味着在多线程环境中,Python 的多线程不能真正并行执行 Python 代码,这可能导致性能问题,特别是在 CPU 密集型任务中
1、使用多进程而不是多线程:Python 的 multiprocessing 模块允许创建多个进程,每个进程都有自己的 Python 解释器和 GIL。这使得可以真正并行地执行代码
在 Python 中,通常情况下,函数只能访问其定义时的局部变量和全局变量。局部变量在函数执行完毕后会被销毁,无法在函数外部直接访问。然而,闭包允许内部函数在外部函数执行完毕后,仍然能够访问外部函数的局部变量
不改动函数本身的能力的情况下,赋予其更多能力的用法,更加灵活
1、@staticmethod:用于定义静态方法。静态方法不需要访问实例或类本身,它们类似于普通的函数,只是定义在类的命名空间中。
通俗理解:即单独也可以用,但是为了方便管理,相关的放到同一个类中处理
日常某应用长年累月运行时,需要知道其crash数据是否有改善,而由于crash平台(bugly、flurry、sentry)是滚动时间存储的,所以为了留痕,需要设计一个平台抓取以上数据,做数据分析、汇总,应该具备: