Yarn: ResourceReloadListener#reload-> createReloadTaskまたはそのようなもの

作成日 2019年10月22日  ·  3コメント  ·  ソース: FabricMC/yarn

ResourceReloadListener#reloadは、それ自体でリロードを実行することは想定されていません。 代わりに、その目標はCompletableFutureを返すことです。これは、評価されると、実際のリロードタスクをさまざまなExecutorに送信することになっています。

コードをreloadに直接入れて、何もしないダミーのCompletableFutureを返すことでシステムをだまそうとすると、 Synchronizer#whenPreparedによって返される未来は決して得られないため、リロード時にゲームがハングします。と呼ばれる。

createReloadTaskのような名前を付けることは、このパスを思いとどまらせ、このメソッドで直接リロードを実行してはならないことを明確にする方法のようです。

discussion enhancement refactor

最も参考になるコメント

imo、 ResourceReloadListenerは、実際にリロードを実行するものであるため、 ResourceReloaderに名前を変更する必要があります( ResourceReloadHandlerと比較してください)。 reloadの名前はすばらしいimoです。または、すべてのCompletableFuture関連の名前に対して一貫した命名スキームを検討することができます。

全てのコメント3件

imo、 ResourceReloadListenerは、実際にリロードを実行するものであるため、 ResourceReloaderに名前を変更する必要があります( ResourceReloadHandlerと比較してください)。 reloadの名前はすばらしいimoです。または、すべてのCompletableFuture関連の名前に対して一貫した命名スキームを検討することができます。

見てみると、リロードを監視するリソースリローダーがすでにあります。

今、私はこれに名前を付ける必要があるかどうか、または名前を変更する必要があるかどうかについて少し混乱しています。

うーん、多分ResourceReloader -> SimpleResourceReloadResourceReloadListener -> ResourceReloader 。 さらに、 ResourceReloadMonitorからResourceReloadに名前を付け、それに応じて実装に名前を付けます。 ResourceReloadは、1回のリロードを表し、直後に破棄されるため、この名前は実際には適切に聞こえます。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Awakened-Redstone picture Awakened-Redstone  ·  4コメント

Sollace picture Sollace  ·  5コメント

asiekierka picture asiekierka  ·  3コメント

liach picture liach  ·  4コメント

Draylar picture Draylar  ·  6コメント