2012-04-27 14 views
0

私の質問は「Google Appengineはシングルスレッドですか?私は私が自分のスレッドをJavaでスレッドを使用して開始できないことを知っていますか? 。はGoogleのappengineシングルスレッドですか?(Java)

私は、リクエストがどのように処理されるかについてのリクエストをスレッド化することを心配しています。私はappengineでそれぞれのリクエストがキューに入れられてから1つずつ提供されます。サーバ要求までの時間が最大時間を超えた場合は、新しいインスタンスが作成されます。

をだから私は、単一のインスタンス(無料クォータ)を使用したい場合はどのような。

複数のリクエストがr1、r2、r3、r4の順番で(この順番で)取得された場合、各リクエストは順次処理されます(シングルインスタンスの場合)。

ロードが増加し、新しいインスタンスが動的に作成されるときに複数のインスタンスを作成すると、インスタンス1のメインメモリに存在するデータもインスタンスにクローンされますか?

2つのインスタンスのデータが常に同期しますか?

+0

「インスタンス」をリストし、各インスタンスがhttpプロセスを表す必要があります。 –

+0

どのテーブル、このテーブルを見つけることができますか? – user93796

答えて

1

the docsに記載されているように、Javaアプリケーションで同時リクエストを有効にすることができます。この場合、複数のスレッドが生成されます。

インスタンスはすでに実行中のインスタンスから複製されず、どのようにも同期されません。特定の変更可能なインスタンス状態に依存しない方法でコードを書き込む必要があります。

3

ニックが言ったことに同意するだけでなく、このステートメントことを指摘したい:

「私は私がJavaでスレッドを使用することによって自分自身のスレッドを開始できないことを知っていることを尋ねたときに今、」 はもはや真実ではありません。詳細については、こちらのスレッドについてのセクションを参照してください。 https://developers.google.com/appengine/docs/java/runtime#The_Sandbox

ので、要約すると、App Engineはいくつかの方法で、マルチスレッドである:
は - 要求は、スレッドごとに使用して単一インスタンスで同時に処理することができますリクエスト
- 1つのリクエストで明示的に追加のスレッドが開始される可能性があります。

関連する問題