C語言協程庫 cgreenlet
和子例程一樣,協程也是一種程序組件。相對子例程而言,協程更加一般和靈活,但在實踐中使用沒有子例程廣泛。協程源自 Simula 和 Modula-2 語言,但也有其他語言支持。協程更適合于用來實現更熟悉的程序組件如合作式多任務,迭代器,無限列表和管道。由于協程不如子例程那樣被普遍所知,最好對它們作個比較。
協程比子例程更一般化。子例程的起始處是惟一的入口點;協程的起始處是第一個入口點,在協程里,返回點之后是接下來的入口點。子例程的生命期遵循后進先出(最后一個被調用的子例程最先返回);相反,協程的生命期完全由他們的使用的需要決定。
更多關于協程的介紹請看維基百科。
本文由用戶 openkk1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!