我正在做一些并发编程,其中一部分困扰着我。
假设我有一些类Foo扩展了 Thread 并实现了它自己的公共方法bar()以及所需的run()方法。如果我实现多个Foo对象,每个对象都包含对另一个Foo对象的引用,并且在类的run()方法内部是对它所引用的任何对象Foo的方法的调用。如果名为“ ”的对象调用了名为“ ”的对象,那么究竟是谁在执行“ ”中的方法代码?执行是从“ ”移交给“ ”执行还是“继续执行”中的代码bar()FooFooThread-1bar()FooThread-2Thread-2Thread-1Thread-2Thread-1Thread-2”?如果是第二选择,我怎么能让它表现得像第一选择?