我的目标是实现一个允许异步写入文件的函数,原型是
private final Object lock = new Object();
public void write(final string filename, final string message) {
new Thread(new Runnable() {
public void run() {
// Create file object (if not exist create a new file)
File file = new File(context.getFilesDir(), filename);
// Try to write on that file
synchronized(lock) {
try {
FileOutputStream fileOutputStream = new FileOutputStream(file, true);
fileOutputStream.write(message.getBytes());
fileOutputStream.close();
catch (...) {
...
}
}
}
}).start();
}
此功能是否为线程保存?可以按文件锁定线程,允许异步写入不同的文件(并显示方法/伪代码/代码来完成这一点)?
答案 0 :(得分:0)
对于Route::get('profile/edit/{id}', array('uses' => 'BusinessController@editProfile', 'as' => 'profile.edit'));
我将创建一个自己的类,将其添加为lock
并阻止该类实例化(使构造函数为私有)。这样你就可以确保总有一个对象。
这个函数是否为线程保存?
是
可以按文件锁定线程,允许在不同的文件上进行异步写入吗?
是