ホームページ  >  記事  >  ファイルサイズが動的に設定され、aws-sdk-go のメモリに保存されている場合、getObject に時間がかかるのはなぜですか?

ファイルサイズが動的に設定され、aws-sdk-go のメモリに保存されている場合、getObject に時間がかかるのはなぜですか?

PHPz
PHPz転載
2024-02-08 22:15:33677ブラウズ

ファイル操作に aws-sdk-go を使用する場合、ファイル サイズを動的に設定してメモリに保存する必要がある場合があります。ただし、getObject メソッドを使用してこのファイルを取得すると、取得時間が長くなる場合があります。これは、aws-sdk-go では getObject メソッドが HTTP プロトコルに基づいており、HTTP プロトコルは大きなファイルの送信により多くの時間とリソースを必要とするためです。そのため、ファイルサイズを動的に設定してメモリに格納すると、getObjectメソッドの実行時間が長くなる可能性があります。この状況の発生を減らすために、セグメント化されたダウンロードやマルチスレッド ダウンロードの使用など、大規模なファイルの転送により適した他の方法の使用を検討できます。

質問内容

ForkJoinPoolについて理解しようとしています。実際のところ、join と終了条件がない場合、fork メソッドが何を行うのか理解できません。 fork がキューで実行されるタスクを送信する場合、このコードはなぜ無期限に実行されないのでしょうか?

リーリー

結果は常に異なります。

2 番目の質問: 計算で self fork を呼び出した場合はどうなりますか?

リーリー

計算は 1 回または 2 回呼び出されます。

またはこれ:

リーリー

計算は複数回呼び出され、その後停止されます。

回避策

これは 無限に実行されますが、デーモン スレッド は JVM のシャットダウンを妨げないため、メイン スレッドが終了するまで待機します。スレッドはシャットダウンを終了しました (つまり、即時シャットダウン)。メインスレッドが完了しないように無限ループを設定すると、タスクが無限に進行することがわかります。 リーリー

以上がファイルサイズが動的に設定され、aws-sdk-go のメモリに保存されている場合、getObject に時間がかかるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。