四
有時候我們不得不面對線程不安全的問題
public static class Environment{public static int count =
}
//…void ThreadMethod()//運行在每個線程的方法
{
while( true )
{
lock ( typeof( Environment ) )
{
if ( count >=
break;//中斷線程執行
DoSomething();//完成某個任務
count++;}}}
通過互斥鎖
當然
void ThreadMethod()//運行在每個線程的方法{
while( true )
{
lock ( typeof( Environment ) )
{
if ( count++ >=
break;//中斷線程執行
}
DoSomething();//完成某個任務
}}
最後來聊聊SyncRoot的問題
用
而不是直接lock( Container )
因為鎖定一個容器並不能保證不會對這個容器進行修改
private ArrayList _list;
public Add( object item )
{
_list
}
public object this[ int index ]
{
get { return _list[index]; }set { _list[index] = value;}
}}
看起來
[
From:http://tw.wingwit.com/Article/program/net/201311/15565.html