C++實現了一個跨平臺的coroutine協程庫,Linux Mac Windows

 

!! 項目地址:    https://github.com/EricDDK/coroutine

windows下是用fiber實現的,也就是win下的纖程

Linux下是ucontext實現的,代碼很簡單

協程的話,簡單點說就是在一根線程中實現多線程的效果,但是沒有線程的上下文切換的開銷,線程上下文開銷是由CPU操作的,協程是自己用代碼實現保存切換上下文的。

2個重要的函數

resume就是繼續執行當前協程,如果已經執行完了dead的協程就返回0

yield就是掛起當前協程,等待resume。

很簡單的邏輯...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章