Balking 模式
所谓Balk,就是“停止并返回”的意思,如果现在不适合执行这个操作,或者没有必要执行这个操作,就停止处理,直接返回。
示例程序
我们来看一个使用了Balking模式的简单示例程序。这个程序会定期将当前数据内容写入文件中。
当数据内容被写入时,会完全覆盖上次写入的内容,只有最新的内容才会被保存。
另外,当写入的内容与上次写入的内容完全相同时,再向文件写入就显得多余了,所以就不再执行写入操作。也就是说,该程序以“数据内容存在不同”作为守护条件,如果数据内容相同,则不再执行写入操作,直接返回。
类的一览表
名字 | 说明 |
---|---|
Data | 表示可以修改并保存的数据的类 |
SaveThread | 定期保存数据内容的类 |
ChangeThread | 修改并保存数据内容的类 |
Main | 测试程序行为的类 |
data类
1 | public class Data { |
SaveThread类
1 | public class SaveThread extends Thread { |
ChangeThread类
1 | public class ChangeThread extends Thread { |
Main类
1 | public class Main { |