有關協程的理解

2021-08-18 22:02:19 字數 982 閱讀 6095

**:

ienumerator wait(float waittimevalue);

foreach(int i in array);

ienumerator e=array.getenumerator();

while(e.movenext())

//

// 摘要:

// 將列舉數推進到集合的下乙個元素。

//// 返回結果:

// 如果列舉數成功地推進到下乙個元素,則為 true;如果列舉數越過集合的結尾,則為 false。

//// 異常:

// t:system.invalidoperationexception:

// 在建立了列舉數後集合被修改了。

bool movenext();

//// 摘要:

// 將列舉數設定為其初始位置,該位置位於集合中第乙個元素之前。

//// 異常:

// t:system.invalidoperationexception:

// 在建立了列舉數後集合被修改了。

void reset();

}

2.yield return是幹什麼的

yield return 是c#2.0以後引入的現實迭代器的一種簡便語法,在之前如果要實現乙個完整的迭代器

需要實現ienumerable和ienumerator這兩個介面,而使用yield retrun可以省略這兩個步驟:

例如:

ienumerator test()

編譯器會生成類似**:

public class innerenumerable:ienumerable;

int currentindex=-1

public bool movenext(){

++currentindex;

return current

有關協同開發實際工作的問題

專案大了,出現的溝通中的無限效率底下。前一段在開發了個群組的後台管理系統,就是管理群組,管理裡面發布的內容。但是任務分工的時候是按層劃分的,之前沒有這樣開發過,筆者自己做的,就是像對方去描述我需要的介面,就很糾結,涉及到陣列呀,鍵值的就很頭疼,最開始開發的時候又沒有資料,本來要是自己去封裝m層就好了...

有關繼承的理解

繼承 類與類之間的關係,子類往往是繼承了父類,用關鍵字extends來宣告子類。滿足is a。也就是說,子類必須是乙個父類的擴充套件,或者是乙個父類,或者像乙個父類。優點 提高了 的復用性和可維護性。對於子類而言,父類中除去私有變數之外,其他方法和變數都可以在子類中使用,而子類也可以定義新的變數和方...

對協程的理解

對於作業系統來說,協程其實是一種特殊的執行緒,對於cpu來說,協程是非搶占式 程序和執行緒是搶占式的 實現機理如下 有兩個function a,b,a呼叫b,b要執行一段時間,很晚才返回,a不會因為等b而一直占用cpu,即a是非阻塞的。b返回後,a又能繼續執行。神奇的是,a和b又是走在一條獨木橋 橋...