乙個簡單的c#多執行緒間同步的例子 收藏
在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。
這個程式的思路是共同做一件事情(從乙個arraylist中刪除元素),如果執行完成了,兩個執行緒都停止執行。
**如下:
using system;
using system.collections;
using system.collections.generic;
using system.threading;
///
public class threaddemo
public threaddemo(int number)
threadone = new thread(new threadstart(run));//兩個執行緒共同做一件事情
threadtwo = new thread(new threadstart(run));//兩個執行緒共同做一件事情
threadone.name = "執行緒1";
threadtwo.name = "執行緒2";
onnumberclear += new eventhandler(threaddemo_onnumberclear);
}///
/// 開始工作
///
public void action()
///
/// 共同做的工作
///
private void run()
monitor.exit(this);//取消鎖定
thread.sleep(5);}}
//執行完成之後,停止所有執行緒
void threaddemo_onnumberclear(object sender, eventargs e)
}說明:要實現執行緒同步不止這一種方式。在這裡採用了事件,在事件處理程式裡中止了執行緒(主要是回答csdn論壇的乙個朋友的問題才用了這種辦法)。
乙個簡單的C 多執行緒間同步的例子
在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...
乙個簡單的C 多執行緒間同步的例子
在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...
乙個簡單的C 多執行緒間同步的例子
在開發中經常會遇到執行緒的例子,如果某個後台操作比較費時間,我們就可以啟動乙個執行緒去執行那個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個執行緒的同步協同的問題,下面的例子就展示了在兩個執行緒之間如何協同工作。這個程式的思路是共同做一件事情 從乙個arraylist中刪除元素 如果執行完...