我的问题更多是关于编程模式而不是特定情况。
我想知道如何在同意线程之间管理更好的互动。
说我有这个例子:
Class Ocean implements Runnable {
Boat myBoat;
// standard stuff
@Override
public void run(){
// the boat navigates through the sees…
}
}
以下是一个不同的主题,因为它必须同时运行:
Class Radar implements Runnable {
// standard stuff
public int scanOcean(){
// return boat.position();
}
}
这两个类都是我的Main方法的对象。
现在问题是:我如何访问另一个线程内的方法?我抬头看了看,但我找不到任何一致和实际的答案......
某些网站引用了另一个线程可能使用的字段的volatile声明,一些告诉事件监听器,另一些关于事件处理程序......我应该使用标准Observer / Subject模式吗?
谢谢!
银鸭
答案 0 :(得分:0)
我使用中间帮助器对象获得了很好的体验,只保存了要共享的数据,如线程之间共享的状态信息,中止标志等。这不适合所有情况,但它经常适合我。
帮助程序实例应根据需要在其方法,getter和setter中实现(并封装)锁定,因此您不必在外部处理它。
一致,线程安全,易于使用。