0
如何控制何時允許線程訪問某個對象,何時不允許該線程訪問該對象。c#:控制對來自不同線程的對象的訪問
舉例來說,如果我有情況類似下面,我想確保當我做一些與objFoo我ButtonClick事件,我不應該能夠從觸摸objFoo我doSomethingWithObjFoo方法。
private void button1_Click(object sender, EventArgs e) {
// doing something with objFoo
}
private void timer1_Tick(object sender, EventArgs e) {
Thread T = new Thread(new ThreadStart(doSomethingWithObjFoo));
T.Start();
}
private void doSomethingWithObjFoo(){
// doing something else with objFoo
}
我不會嘗試鎖定UI線程上的對象(即在button1_Click處理程序中),除非您確定不必等待很長時間。您的UI將凍結,直到button1_Click處理程序完成。 – 2010-10-03 18:40:22