C語言協程庫 cgreenlet

openkk1 12年前發布 | 26K 次閱讀 C語言 C/C++開發

和子例程一樣,協程也是一種程序組件。相對子例程而言,協程更加一般和靈活,但在實踐中使用沒有子例程廣泛。協程源自 Simula 和 Modula-2 語言,但也有其他語言支持。協程更適合于用來實現更熟悉的程序組件如合作式多任務,迭代器,無限列表和管道。由于協程不如子例程那樣被普遍所知,最好對它們作個比較。

協程比子例程更一般化。子例程的起始處是惟一的入口點;協程的起始處是第一個入口點,在協程里,返回點之后是接下來的入口點。子例程的生命期遵循后進先出(最后一個被調用的子例程最先返回);相反,協程的生命期完全由他們的使用的需要決定。

更多關于協程的介紹請看維基百科

項目主頁:http://www.baiduhome.net/lib/view/home/1336639919687

 本文由用戶 openkk1 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!