Python 的全局解释器锁(GIL)是一个机制,它确保同一时间只有一个线程执行 Python 字节码。这意味着在多线程环境中,Python 的多线程不能真正并行执行 Python 代码,这可能导致性能问题,特别是在 CPU 密集型任务中
1、使用多进程而不是多线程:Python 的 multiprocessing 模块允许创建多个进程,每个进程都有自己的 Python 解释器和 GIL。这使得可以真正并行地执行代码
在 Python 中,通常情况下,函数只能访问其定义时的局部变量和全局变量。局部变量在函数执行完毕后会被销毁,无法在函数外部直接访问。然而,闭包允许内部函数在外部函数执行完毕后,仍然能够访问外部函数的局部变量