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