如果我们有两个相同类的对象并行运行
object1 // runs on processor 1
object2 // runs on processor 2
在C#类对象中拥有自己的set数据成员并共享相同的函数集。
如果两个类都希望同时执行相同的方法,编译器如何将方法分配给类对象。
object1.process();
object2.process();
编译器如何在运行时决定相同类对象的优先级
答案 0 :(得分:2)
我想我理解这个问题......方法就是代码。它们是像数据成员一样的字节,但您可以确定这些字节不会更改。因此“分配”没有问题,代码可以在任何线程上执行,而不会出现数据损坏的风险。
然而,方法的代码可以间接访问数据成员。并且你将确保这些成员不会被不同的线程以交错的方式进行更改。
您可以通过多种方式执行此操作,我确信这些方法将在整个网络中进行记录(检查重新入门,锁定,信号量,互斥量和原子操作)。