ページまたはコンポーネントクラスに、非同期オブジェクトである1つのインスタンスフィールドがある場合、f.ex. ArrayList
、このフィールドへのアクセスが同期されるべきである場合、アプリケーションはこのフィールドを構造的に変更するコードを持っていますか?Tapestryページまたはコンポーネントで、インスタンスのフィールドアクセスを同期する必要がありますか?
F.ex:
public class MyPageOrComponent
{
@Persist
private List<String> myList;
void setupRender()
{
if (this.myList == null)
{
this.myList = new ArrayList<>();
}
}
void afterRender(MarkupWriter writer)
{
// Should this be synchronized ?
if (someCondition)
{
this.myList.add(something);
}
else
{
this.myList.remove(something);
}
}
}
私はタペストリーがページまたはコンポーネントクラスのインスタンスを1つだけ作成し、それが接続されているすべてのクライアントのために、このインスタンスを使用していることを理解しているように見えるので、私は求めている(しかし下さいこれが真実でないなら私を修正してください)。