先贴一段伪代码吧
class mainClass
{
static object o = new object();
public void B()
{
lock(o)
{
...;
}
}
public void A()
{
Thread t1 = new Thread();
t1.actionCall += B;
t1.start();
Thread t2 = new Thread();
t2.actionCall += B;
t2.start();
}
}
mainClass是个单例类;
线程t1回调回来执行B方法的时候,有可能被t2回调B方法中断了,如何能保证按顺序依次执行B方法?
执行B方法的时候是在主线程还是在t1或t2内?
我在B方法内加了lock,依然不能同步执行B,甚至在线程内调用回调的地方也不能同步访问actionCall方法,这是为什么?
------解决思路----------------------
Thread 线程 有这东西 actionCall??