生成此代码是为了在我的应用中保存事件历史记录,因为我需要提供以下代码:
public class LogDataBase {
public LogDataBase(Context context) {
try {
this.context = context;
String logPath = context.getFilesDir() + logStoragePath;
file = new File(logPath);
if (!file.exists()) {
file.createNewFile();
}
} catch (Exception e) {
Errors += ("\n" + e.getMessage());
}
}
public void addItem(String log) {
try {
dbWriter = new FileWriter(file, true);
//appand String log to file
....
}
public ArrayList<String> getArrayList() {
//get all Logs as arraylist
}
}
主要问题是如何开发线程安全的应用程序?由于应用程序可能使用服务和多处理,因此多线程应确保代码和类是安全的。
请为这个重要主题提供一些全面的解释(不仅要说Synchronization , Lock,...
)
希望对别人有用
提前谢谢。
答案 0 :(得分:1)
同步是保证代码部分是线程安全的最简单方法之一。但是由于它造成的阻塞,它会减慢你的应用程序。所以我建议的最佳方式是使用生产者消费者实施。因此,步骤如下
通过这种方式,您可以最大限度地减少阻塞并保证以线程安全的方式处理某些任务。