子程序和协程有什么区别?
子程序
子程序被定义为一组语句,可以在方便时在程序的多个位置重复使用。这种重用导致多种类型的节省,从内存空间到编码时间。这种重用也是一种抽象,因为子程序的分析通过调用子程序的语句在程序中恢复计算。
子程序的特点
子程序的特点如下-
子程序只有一个入口点。
调用方在被调用子程序的执行过程中被挂起。
当被调用的子程序的执行消除时,控制权会不断地返回给调用者。
子程序的优点
子程序有以下优点:
子程序促进可重用性。它可以在程序的多个位置重用一组语句。
子程序提供可扩展性,即,它们让您可以定制语言以满足您的要求。例如,如果您需要一个生成新部门的过程,您可以简单地编写一个。
子程序提高了可维护性,即,如果其定义发生变化,则只影响子程序。这有利于维护和改进。
子程序有助于抽象,即,要使用子程序,您应该了解它们的作用,而不是它们如何工作。因此,您可以自上而下地创建应用程序,而无需关心执行细节。
协程
协程是具有各种条目的特殊子程序。它们可用于提供子程序的交错执行。一般来说,协程是一个特殊的子程序,它在执行完成之前返回到它的调用程序。
continue部分执行,然后暂停执行,控制返回给调用者,稍后从暂停点恢复执行。第一个包含协程工具的高级语言SIMULA67。其他支持协程的语言是BLISS、INTERLISP和MODULA-2
让我们看看子程序和协程的区别