多处理和多线程

Posted

技术标签:

【中文标题】多处理和多线程【英文标题】:Multiprocessing & multithreading 【发布时间】:2020-12-18 05:11:25 【问题描述】:

虽然学了 3 个月的 Python,我还是不明白:我们在哪里实际使用了 Python 中的多线程和多处理?如果我也能达到异步目的会更好...... 另外,我是否迫切需要它被聘为初级后端 Python 开发人员 (Django) 专业?

【问题讨论】:

显然,了解每种开发方式都是一件好事,不仅是初级 @NathanHughes 是的,带有 GIL 的典型 CPython 解释器 【参考方案1】:

好吧,我会说多线程在大多数编程语言中具有相同的用法,并且它是并行处理,因为如果不需要按特定顺序完成所有进程,至少您可能不想将所有进程排在一个线程上例如在视频游戏渲染中,物理和用户输入可以在多个线程中完成,因为物理不需要等待用户输入,也不需要等待帧渲染,因此使用多个线程可以加快速度,现在我还没有做了那么多后端编程,但我假设你可以使用这些东西,比如游戏服务器和反作弊,因为反作弊可以读取用户数据,如移动速度,服务器中的主逻辑循环不必牺牲是时候处理它了,因为反作弊线程可以做到这一点,并且异步在所有情况下都不是真正的好处,但它允许两个线程以不同的速度工作,并且可以用于不需要通信的任务,如渲染和物理这是一个很好的协议,物理可以与渲染分开循环 希望这有助于 ik 它的混乱但是在有人更好地发布一些东西之后我可以删除它

【讨论】:

以上是关于多处理和多线程的主要内容,如果未能解决你的问题,请参考以下文章

线程块网格和多处理器

多处理和多线程

多线程与多进程的比较

多线程和多进程分别是啥意思?

将多线程和多处理与 concurrent.futures 相结合

Python 子进程、通信和多处理/多线程