1. 程式人生 > >程序,執行緒和攜程

程序,執行緒和攜程

程序擁有自己獨立的堆和棧,既不共享堆,亦不共享棧,程序由作業系統排程。

執行緒擁有自己獨立的棧和共享的堆,共享堆,不共享棧,執行緒亦由作業系統排程(標準執行緒是的)。

協程和執行緒一樣共享堆,不共享棧,協程由程式設計師在協程的程式碼裡顯示排程。

程序和其他兩個的區別還是很明顯的。

協程和執行緒的區別是:協程避免了無意義的排程,由此可以提高效能,但也因此,程式設計師必須自己承擔排程的責任,同時,協程也失去了標準執行緒使用多CPU的能力。

摘自:http://blog.csdn.net/hairetz/article/details/16119911