我怎么能从线程外部调用线程内的方法。在某些情况下,b()将会从()中调用,但在某些情况下,我想指示线程从线程外部转到b()。我假设我可以使用观察者模式来解决这个问题,但是我已经在这个线程上使用了观察者模式来做别的事情,除非可以使用观察者模式两次。发信号通知线程
Thread t = new Thread(new clientThread());
t.start();
boolean someBool = false;
class clientThread implements Runnable{
run(){
a();
}
public void a(){
while(!someBool){
Object ob = in.readObject();
b();
//do stuff
}
public void b() {
while(true){
Object ob = in.readObject();
//do stuff
}
}
}
t.b();
您需要某种方式与该线程上运行的代码进行通信,并要求它为您工作。你想解决什么问题? – SLaks
不幸的是@Keppil的答案被删除了。只是因为一个方法会跳到某个线程/可运行类,这并不意味着它必须在该线程的堆栈上调用。 –