最贊回答 / leyou240
一個進程可輕松創建數十萬計的協程——許式偉Goroutine是Go里的一種輕量級線程——協程。相對線程,協程的優勢就在于它非常輕量級,進行上下文切換的代價非常的小。對于一個goroutine ,每個結構體G中有一個sched的屬性就是用來保存它上下文的。這樣,goroutine 就可以很輕易的來回切換。由于其上下文切換在用戶態下發生,根本不必進入內核態,所以速度很快。而且只有當前goroutine 的 PC, SP等少量信息需要保存。
2018-01-04