2017-07-07 9 views
3

SimpleRouteMatcherは、追加されたルートをArrayListに格納します。Sparkフレームワークでスレッドセーフなルートを追加していますか?

public SimpleRouteMatcher() { 
    routes = new ArrayList<RouteEntry>(); 
} 

これらのルートのアクセスを取り巻く同期はないようです。それらは別々のサーバースレッドからアクセスされるため、ルートリストの更新が表示されることが保証されていますか?

答えて

1

あなたは自分自身で質問に答えました - it seems it is not。おそらく、前提があります:ルートを追加するのは、アプリケーションの起動時にメインメソッドからメインスレッドでのみ発生するため、スレッドセーフではない目的で実装される可能性があります。

複数のスレッドから安全にルートを変更する必要がある場合は、これらの操作のラッパーメソッド(​​)を作成できます。

私の意見では、この操作はスレッドセーフである必要があります。

関連する問題