关于Python asyncio的我的最新想法以及我为什么讨厌它
Python是一门很有趣且适合编程界面的编程语言,到目前为止,它已经拥有了许多伟大的实用工具和库。其中最新的一个是asyncio,它被称为一种改变Python编程方式的革新性工具,但我个人认为,它带来的便利并不能掩盖它的缺陷和限制。
asyncio的主要思想是提供异步编程的支持。使用它可以让你的Python应用程序更高效地执行网络和I / O任务。传统的Python应用程序在执行耗时的I / O操作时将会被阻塞,这是因为在I / O操作完成之前,应用程序必须等待数据到达或者写入I / O,导致无法执行其他操作。但是使用asyncio,你可以将任务分为并发执行的微任务,这样就可以最大化使用CPU时间。
但是,asyncio也存在一些不可忽视的问题。首先,编写异步代码比其他代码更加复杂,因为你需要使用async / await(或以前使用的coroutine语法)。这意味着你需要重写整个程序,而且需要使用不同的方法和库。其次,由于asyncio是在Python模拟的事件循环之上构建的,所以它具有一定的限制。例如,对于GUI应用程序,它不适用于所有模式。此外,asyncio在某些情况下不能很好地处理CPU密集型任务。
除了这些问题之外,我个人还对asyncio感到讨厌。我的主要问题是,虽然它可以在并发任务和对I / O进行异步编程方面提供便利,但它具有大量的限制,特别是在第三方库和扩展方面。在Python社区中,许多库不支持asyncio或者过程中出现了许多错误,使得整个应用程序变得难以维护和扩展。
到目前为止,我认为asyncio并没有达到它原本的预期,它并不能推广到广泛的Python社区中。但是,如果您想在Pyhton中进行异步编程,那么它是您可以选择的几种工具之一。关键是要认识到,它并非银弹,仍需要对其进行深入研究,并在实践中找到最佳使用方法。
了解更多有趣的事情:https://blog.ds3783.com/