単純なファイル書き込み操作を実行するRunnableがあり、このRunnableがエグゼキュータで呼び出されたとします。
エグゼキュータはシングルスレッドのエグゼキュータクラスです。
public void doThis() {
executor.execute(new Runnable() {
@Override
public void run() {
file.write(_data);
}
});
}
execute()が呼び出された瞬間に、_dataの直接の内容が保存されますか?つまり、ランナブルがキューに送信されると、先に進んで_dataに変更を加えることができ、変更はファイルに書き込まれませんか?
_data = something
doThis();
_data = something else
file.write(何か他のもの)を実行してしまう可能性はありますか?