【发布时间】:2015-01-08 09:02:24
【问题描述】:
在我的程序中,我有两种方法:
public void methodA() { //gets called very often
//write something to file
}
public void methodB() {
//write something to file
}
methodA 经常被客户端调用,而methodB 只是不时调用。但是,我需要确保无论何时客户想要调用methodB,它都可以这样做(在methodA 的当前可能执行完成之后)。我试图在每个方法中引入一个带有锁定对象的同步块,但是methodB 似乎饿死了,因为methodA 被更频繁地调用。
我该如何解决这个问题?
【问题讨论】:
-
使用执行器框架
-
能不能不用信号量来保护通话?
-
两种方法之间的依赖关系是什么?
标签: java file-io concurrency synchronization