close

資工系的作業系統課程中,有一章會講到Critical Section,主要是介紹當系統的某一項資源被多個程式存取時,所會造成的問題。在多執行緒的程式中,這樣的問題是要特別去考慮到的。

在.NET中,如果要考慮到Critical Section的問題,可以使用lock這個關鍵字,在lock區塊中,可以去指定要鎖定哪一項資源(物件),當這項資源被鎖定時,其它的執行緒無法進入該lock區塊,直到資源被解除鎖定後才能進入。下面程式碼將示範lock的用法。

2011-02-20_162429

 

另外,被鎖定的資源必須是物件,Value Type的變數是不被允許的。

參考資料

臨界區段

lock 陳述式

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()