我刚刚做了一个关于Kotlin的协程的演讲,并提出了一个问题:协程是否总是可以取代线程,或者是否也可能有缺点。
或者反过来:有没有不应该使用协程的地方?
发布于 2018-03-01 15:11:29
协程对于异步编程很有用。当您编写的代码必须等待某些外部事件的大部分时间时,就像在现代连接的用户界面和面向微服务的后端应用程序中经常发生的那样,协程和Kotlin挂起函数的概念让您可以编写外观自然且易于理解的代码,这些代码比具有显式线程的代码更具可伸缩性。
如果您正在编写某种计算、CPU密集型代码,那么您会发现多线程编程和并行性的经典模式工作得更好。
这并不意味着您不能使用协程来并行化某些CPU密集型应用程序,但这样做不会在代码可读性或性能方面获得任何好处。
https://stackoverflow.com/questions/49039088
复制相似问题